Título: Problema Matematico Publicado por: LeandroA en 22 Octubre 2010, 06:31 am Hi, tengo un problema, que me voló la cabeza seguro que es una boludes mas grande que una casa pero se me quemaron las neuronas, es medio complicado explicarlo pero voy a intentarlo.
supongamos una imagen, esta tiene unas dimensiones de 16 x 16px por cada pixel de esa imagen tenemos 3 bytes esto da como resultado un array de 768 bytes 16 x 16 x 3 = 768 otro ejemplo 32 * 16 * 3 = 1536 bien haciendo esa ecuación puedo saber la cantidad de bytes que ocupara la imagen, ahora supongamos que yo quiero ingresar la cantidad de bytes y deseo que la imagen sea lo mas cuadrada posible que ecuación tengo que hacer??? yo puedo poner (tomando el primer ejemplo) Ancho = Sqr(768 / 3) Alto = Ancho pero que pasa si el array que ingreso es de 769 bytes tengo un resultado erróneo de 16,0104.. y esto no es una medida valida para una imagen ya que no puede tener decimales. entonces puede que tenga que adicionar uno/s bytes extra al array para que sea un valor "par" así poder obtener un resultado correcto, no importa que sea una imagen 100% cuadrada, pero que sea lo mas aproximado. Se entiende??, Gracias Título: Re: Problema Matematico Publicado por: EddyW en 22 Octubre 2010, 06:53 am Wenas LeandroA,
Bueno, no se si entendí, eso se verá en mi respuesta :P Código
No se si ha eso te referías, Para redondear, usa Round, luego saca un porcentaje. SaluDOS!!! Título: Re: Problema Matematico Publicado por: LeandroA en 22 Octubre 2010, 07:53 am hola, no noes eso, pero de todas formas estoy confundido en algo creo que estoy malinterpretando algo
lo que descrivi anteriormente no es tan asi, creo que es mejor cerrar la pregunta hasta tener en claro las cosas. una imagen de 24 * 24 tiene 1728 (24 x 24 x 3 = 1728) pero una imagen de 25 * 25 tiene 1900 (25 x 25 x 3 = 1875) esto no cumple la regla que pensaba alto x ancho x 3 las imagenes tienen una profundidad de bits de 24 osea un savepicture de vb Código: Option Explicit a estudiar el formato bmp Fundamental :huh: Título: Re: Problema Matematico Publicado por: BlackZeroX en 22 Octubre 2010, 09:39 am .
Haber si entendi quieres que sea lo mas cuadro posible aun que sea Ancho = X y Alto = X+1 o en el mejor de los casos Ancho = X y Alto = X PERO SIEMPRE SIN PUNTOS DESIMALES?... es esto?... si es asi, solo es una ecuación de equivalencia... y he aqui dicho problema... Dulces Lunas!¡. Título: Re: Problema Matematico Publicado por: KuraraGNU en 22 Octubre 2010, 09:56 am A ver, yo visual basic se poco, pero podrías a:
Ancho = Sqr(768/3) Alto = Ancho Transformar el resultado de Sqr(768/3) a Int o Integer, no se cómo se dirá (como se haga en VB), de manera que así pierdes los decimales y redondea. Después, haces: int Tamaño = (768/3)//y le haceis una conversión explícita a int Ancho = Sqr(Tamaño)//Se le vuelve a hacer una conversión Alto = Tamaño - Ancho Título: Re: Problema Matematico Publicado por: [D4N93R] en 22 Octubre 2010, 14:00 pm HINT: El número que ingreses tiene que ser múltiplo de 3...
Título: Re: Problema Matematico Publicado por: KuraraGNU en 22 Octubre 2010, 14:10 pm HINT: El número que ingreses tiene que ser múltiplo de 3... Pero eso no quiere decir que ese número tenga una raíz cuadrada exacta.Título: Re: Problema Matematico Publicado por: [D4N93R] en 22 Octubre 2010, 14:20 pm Ahm, no pero es un paso hacia adelante! :P
Puedes probar con aspect ratios, es decir algo como 3:4. 1:1, 4:5 lo más cuadrado que puedas intentando varias posibilidades. Título: Re: Problema Matematico Publicado por: raul338 en 23 Octubre 2010, 16:26 pm hola, no noes eso, pero de todas formas estoy confundido en algo creo que estoy malinterpretando algo lo que descrivi anteriormente no es tan asi, creo que es mejor cerrar la pregunta hasta tener en claro las cosas. una imagen de 24 * 24 tiene 1728 (24 x 24 x 3 = 1728) pero una imagen de 25 * 25 tiene 1900 (25 x 25 x 3 = 1875) esto no cumple la regla que pensaba alto x ancho x 3 las imagenes tienen una profundidad de bits de 24 osea un savepicture de vb Esto es porque el formato BMP tiene algunas otras cosas ademas de la picture, como las cabeceras y espacios al pedo. Lo recuerdo de aca: Riemers DirectX Tutorial (http://www.riemers.net/eng/Tutorials/DirectX/Csharp/Series1/tut10.php) |