UIGraphicsBeginImageContextWithOptions(self.bounds.size,NO,-1);

时间:2011-10-18 22:57:30

标签: iphone cocoa-touch quartz-graphics

有没有人知道如果我在这个函数中将-1设置为比例因子会发生什么?

UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, -1);
 _cacheImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();
[_cacheImage drawInRect:[self bounds]];

NSData *data = UIImageJPEGRepresentation(_cacheImage, 0);

NSLog(@"%i", data.length);


NSData *data = UIImage

如果我使用-1,我无法获得UIImageJPEGRepresentation,但drawInRect工作正常。会发生什么事? 使用-1时,我的应用程序使用的内存少得多(在乐器中确认)

2 个答案:

答案 0 :(得分:1)

负缩放因子在文档中没有记录或定义的行为。

答案 1 :(得分:0)

从苹果论坛得到这个:

  

比例必须是非负数或您没有获得有效的上下文。一世   怀疑这就是你使用较少内存的原因(我们没有   设置一个上下文)你没有得到一个JPEG(因为有   什么都没有得到)。控制台日志应该有一条相应的消息   我也相信。 - Rincewind