我有一个以编程方式创建的 UIImage 图像,使用这种代码:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(128, 128), NO, 0.0f);
// Render in context
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
由于我的上下文选项指定比例为 0,因此在视网膜设备上它将设置为 2,我可以在生成的 UIImage 比例属性上确认这一点。
现在,问题是该图像尺寸为 128x128,比例为 2。当我将其放入尺寸为 64x64 且 contentMode = Center 的 UIImageView 中时,它会将我的图像渲染到 imageview 之外,大概会渲染到 128x128 的盒子中而没有任何缩放。
我对视网膜图形的理解是,如果图像的比例因子为 2.0,则它应该以 1/2 大小渲染,从而导致更高的 DPI。所以我期待图像视图以视网膜质量渲染 64x64 图像。我哪里错了?