UIGraphicsGetImageFromCurrentImageContext视网膜决议?

UIImageView *cellimage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0 , 107, 70)]; 

上面的说法我相信会在视网膜分辨率设备和标准设备上做出适当的尺寸。这是标准的107×70像素和视网膜上的214×140像素的帧。

我想知道的是,如果下面的UIGraphicsGetImageFromCurrentImageContext也做同样的..图像将为标准的67 x 67和视网膜版本的124 x 124?

  CGSize imagesize = CGSizeMake(67, 67); UIGraphicsBeginImageContext(imagesize); NSLog(@" Converting "); [image drawInRect:CGRectMake(0,0,imagesize.width,imagesize.height)]; newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 

如果没有人能告诉我如何区分模型。 谢谢

您需要使用UIGraphicsBeginImageContextWithOptions而不是UIGraphicsBeginImageContext ,以便您可以指定图像的缩放因子。 这将使用设备主屏幕的比例因子:

 UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0); 

如果cellImage在屏幕上,这将使用包含cellImage的屏幕的比例因子:

 UIGraphicsBeginImageContextWithOptions(imageSize, NO, cellImage.window.screen.scale); 

这将对比例因子进行硬编码:

 UIGraphicsBeginImageContextWithOptions(imageSize, NO, 2);