UIGraphicsBeginImageContext必须是视网膜感知?

我读过一些推荐使用的post:

UIGraphicsBeginImageContextWithOptions((image.size), NO, 0.0f) 

代替:

 UIGraphicsBeginImageContext(image.size). 

因为第一个绘图时使用视网膜缩放,否则你会得到块状图像。

我对使用或不使用视网膜的选项有些困惑。

如果我有一个1000×1000像素的照片,我调用UIGraphicsBeginImageContext传递这些尺寸,我没有具体指定我要绘制多less点? 这可以吗?

或者我应该调用UIGraphicsBeginImageContextWithOptions传递一半的尺寸(500x500px)? 它有什么区别?

您可以通过以下方法获取设备的比例值

 [[UIScreen mainScreen] scale] 

有了这些信息,你可以决定你想画多less点。

你可以像这样创build图像上下文:

  UIGraphicsBeginImageContextWithOptions(size, false, UIScreen.mainScreen().scale)