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

发布于 2024-12-10 12:53:14 字数 486 浏览 0 评论 0原文

有谁知道如果我在此函数中将比例因子设置为 -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 时,我的应用程序使用的内存要少得多(在仪器中确认)

Does anyone know what happens if I set a -1 to the scale fator in this function?

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

If I use -1, I cannot get a UIImageJPEGRepresentation, but the drawInRect works ok. What could be going on?
Also whe using -1 my app uses a lot less memory (confirmed in instruments)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

開玄 2024-12-17 12:53:14

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

Negative scaling factors do not have a documented or defined behavior in the documentation.

街道布景 2024-12-17 12:53:14

从苹果论坛得到这个:

比例必须为非负数,否则您将无法获得有效的上下文。我
怀疑这就是您使用较少内存的原因(我们没有
设置上下文)并且您没有得到 JPEG(因为有
没有什么可得到的)。控制台日志应该有一条消息表明这一点
我也相信。 - Rincewind

Got this from the apple forums:

The scale must be non-negative or you don't get a valid context. I
suspect this is the reason why you are using less memory (we didn't
setup a context) and you aren't getting a JPEG (because there is
nothing to get). The console log should have a message to that effect
as well I believe. - Rincewind

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文