Chcę zmienić rozmiar obiektu UIImage
przy zachowaniu jego współczynnika kształtu. Napisałem poniższy kod, ale nie działa zgodnie z oczekiwaniami.Jak zmienić rozmiar obiektu UII przy zachowaniu jego współczynnika proporcji
Kod
-(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;
}
Czym dokładnie jest nie tak tutaj?
To wygląda podobnie jak w moich projektach,^1. – chown
To przekrzywiło moje obrazy, ale UIImage + FX z github https://github.com/nicklockwood/FXImageView ma aspekt wypełnienia – PetrV
dziękuję :) nie ma deformacji naprawdę dobrze –