Quiero escribir una función para reducir el tamaño de una imagen para que se ajuste a los límites especificados. Por ejemplo, quiero cambiar el tamaño de una imagen de 2000x2333 para que se ajuste a 1280x800. La relación de aspecto debe mantenerse. He llegado con el siguiente algoritmo:Algoritmo de cambio de tamaño de la imagen
NSSize mysize = [self pixelSize]; // just to get the size of the original image
int neww, newh = 0;
float thumbratio = width/height; // width and height are maximum thumbnail's bounds
float imgratio = mysize.width/mysize.height;
if (imgratio > thumbratio)
{
float scale = mysize.width/width;
newh = round(mysize.height/scale);
neww = width;
}
else
{
float scale = mysize.height/height;
neww = round(mysize.width/scale);
newh = height;
}
Y parecía funcionar. Bueno ... parecía. Pero luego traté de cambiar el tamaño de una imagen de 1280x1024 a un límite de 1280x800 y me dio un resultado de 1280x1024 (que obviamente no cabe en 1280x800).
¿Alguien tiene alguna idea de cómo debería funcionar este algoritmo?
Oh Debo añadir por su ejemplo elenco de 1280x1024 a 1280x800 las proporciones serían 1 y 1,28, después de que el cambio de tamaño sería 1000 x 800 – GWW
Gracias! ¡Creo que finalmente funciona! – Marius