gpt4 book ai didi

ios - 调整图像大小保持纵横比

转载 作者:行者123 更新时间:2023-11-29 03:48:36 44 4
gpt4 key购买 nike

我正在开发一个应用程序,用户可以单击图像并上传它们。我的应用程序中有一个按钮,单击它后,相机模式将打开。用户可以单击图像并查看预览。在预览中,图像看起来不错并且占据了整个屏幕。稍后我必须在宽度为 110、高度为 111 的 UIImageView 中显示此图像。当我在此显示它时,图像会扭曲并在边缘被裁剪。我的主要目标是保持纵横比。

我尝试这样做。

- (void)displayCapturedImage
{
//[self.imageView setImage:self.capturedImage];
CGSize smallSize = CGSizeMake(110, 111);
[self.imageView setImage:[self imageWithImage:self.capturedImage scaledToSize:smallSize]];

}

- (UIImage*)imageWithImage:(UIImage*)image
scaledToSize:(CGSize)newSize;
{
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newImage;
}

但这对我不起作用。图像仍然扭曲。

最佳答案

您需要自己计算比例。确定图像需要小多少,并将其应用于宽度和高度。

类似的东西

float widthFactor  = targetWidth / width;
float heightFactor = targetHeight / height;

if ( widthFactor < heightFactor )
scaleFactor = widthFactor;
else
scaleFactor = heightFactor;

scaledWidth = width * scaleFactor;
scaledHeight = height * scaleFactor;

if ( widthFactor < heightFactor )
thumbnailPoint.y = (targetHeight - scaledHeight) * 0.5;

else if ( widthFactor > heightFactor )
thumbnailPoint.x = (targetWidth - scaledWidth) * 0.5;

关于ios - 调整图像大小保持纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17368756/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com