Quiero cambiar el tamaño de un UIImage
manteniendo su relación de aspecto. He escrito el siguiente código, pero no está funcionando como esperaba.Cómo cambiar el tamaño de un UIImage mientras se mantiene su relación de aspecto
Código
-(UIImage *) scaleImage: (UIImage *) image toSize: (CGSize) targetSize {
CGFloat scaleFactor = 1.0;
if (image.size.width > targetSize.width || image.size.height > targetSize.height)
if (!((scaleFactor = (targetSize.width/image.size.width)) > (targetSize.height/image.size.height))) //scale to fit width, or
scaleFactor = targetSize.height/image.size.height; // scale to fit heigth.
UIGraphicsBeginImageContext(targetSize);
CGRect rect = CGRectMake((targetSize.width - image.size.width * scaleFactor)/2, (targetSize.height - image.size.height * scaleFactor)/2,
image.size.width * scaleFactor, image.size.height * scaleFactor);
[image drawInRect: rect];
UIImage * scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
¿Qué es exactamente mal aquí?
Eso se ve bastante similar a lo que está en mis proyectos también,^1. – chown
Esto sesgó mis imágenes, pero UIImage + FX de github https://github.com/nicklockwood/FXImageView tiene relleno de aspecto – PetrV
gracias :) no tiene una deformación realmente buena –