gpt4 book ai didi

cocoa-touch - 在模拟器中创建用于调整 UIImage 大小的 CGImageContext 失败

转载 作者:行者123 更新时间:2023-12-04 07:10:16 25 4
gpt4 key购买 nike

我有一些代码来调整 UIImage 的大小(在 UIImage 的类别中),首先生成一个图像上下文:

CGImageRef oldImage = [self CGImage];
CGSize oldSize = [self size];

CGContextRef context = CGBitmapContextCreate(NULL, //Data
newSize.width, //Width
newSize.height, //Height
CGImageGetBitsPerComponent(oldImage), // Bits per Component
4 * newSize.width, //Bytes per Row
CGImageGetColorSpace(oldImage), //Color Space
CGImageGetBitmapInfo(oldImage)); //Info

在设备上,此代码运行良好,但在模拟器上失败并显示以下错误:
<Error>: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 24 bits/pixel; 3-component colorspace; kCGImageAlphaNone; 428 bytes/row.

有没有人对此有解释?如果我没记错的话,它在 2.2 之前运行良好,谢谢!

最佳答案

我对此知之甚少,但我的猜测是,您的每行字节数参数需要为 3 * newSize.width,因为图像报告没有 alpha 组件。

如果这不起作用,您可能需要查看 Quartz 2D Programming Guide's Supported Pixel Formats了解更多信息。令人沮丧的是,没有 24 bpp 的条目,即使这是错误报告的内容。您可能希望在模拟器和设备中记录相关值,以查看是否存在任何其他差异。

关于cocoa-touch - 在模拟器中创建用于调整 UIImage 大小的 CGImageContext 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com