繁体   English   中英

照片框架。 requestImageForAsset无法返回正确的图像尺寸

[英]Photos framework. requestImageForAsset can't return right imagesize

我正在使用requestImageForAsset:targetSize:contentMode:options:resultHandler:方法从PHAsset获取图像。

PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.resizeMode = PHImageRequestOptionsResizeModeExact;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:CGSizeMake(150, 200) contentMode:PHImageContentModeAspectFit options:options resultHandler:handler];

这些代码有效,但是返回的imageSize不是{150,200},而是{300,400},即图像的完整大小。 我该如何解决?

谢谢。

您的targetSize是:CGSizeMake(150,200)尝试将其更改为CGSizeMake(300,400)

我该怎么解释...

在代码或界面生成器中,我们将iPhone 5屏幕的屏幕尺寸指定为(320,568),但实际上是视网膜尺寸(640,1136)。

因此(150,200)将给您(300,400)。 如果您想要150 x 200,请尝试将targetSize指定为(75,100)。

我认为我们应该用Screen scale修复targetSize。

-(CGSize)fixTargetSize:(CGSize)targetSize{
CGFloat scale = [UIScreen mainScreen].scale;
return CGSizeMake(targetSize.width*scale, targetSize.height*scale);
}

因此,如果使用UIImageView,则会得到固定的图像,可以正确显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM