对不起,如果这听起来像一个愚蠢的问题。我想在缩放图像后获得图像的矩形大小。我想到的一种方法是,如果我可以调整 imageView 本身的大小并使用“.frame”,我可以这样做吗?有没有其他方法可以摆脱周围的空白?
问问题
869 次
1 回答
1
基于contentMode
imageView 的存在UIViewContentModeScaleAspectFit
,一旦你设置了image
imageView 的属性,你可以使用以下方法来确定屏幕上图像的大小(以磅为单位):
-(CGSize)onScreenPointSizeOfImageInImageView:(UIImageView *)imageView{
CGFloat scale;
if (imageView.frame.size.width > imageView.frame.size.height) {
if (imageView.image.size.width > imageView.image.size.height) {
scale = imageView.image.size.height / imageView.frame.size.height;
} else {
scale = imageView.image.size.width / imageView.frame.size.width;
}
} else {
if (imageView.image.size.width > imageView.image.size.height) {
scale = imageView.image.size.width / imageView.frame.size.width;
} else {
scale = imageView.image.size.height / imageView.frame.size.height;
}
}
return CGSizeMake(imageView.image.size.width / scale, imageView.image.size.height / scale);
}
然后根据图像的屏幕尺寸设置图像视图的框架,以消除图像周围的“空白空间”,例如;
myImageView.image = myImage;
CGSize imageSize = [self onScreenPointSizeOfImageInImageView:myImageView];
CGRect imageViewRect = myImageView.frame;
imageViewRect.size = imageSize;
myImageView.frame = imageViewRect;
于 2013-10-14T12:47:25.653 回答