我有一张PNG图片,其位图图形上下文像素格式不受支持。每当我尝试调整图像大小时,CGBitmapContextCreate()
会在不支持的格式上噎住。
我收到以下错误(为方便阅读格式化的错误):
CGBitmapContextCreate: unsupported parameter combination:
8 integer bits/component;
32 bits/pixel;
3-component colorspace;
kCGImageAlphaLast;
1344 bytes/row.
支持的像素格式列表 绝对不支持这种组合。看来我需要重新绘制图像,并将 alpha 通道信息移动到 kCGImageAlphaPremultipliedFirst 或 kCGImageAlphaPremultipliedLast。我不知道如何进行此操作。
PNG 文件没有异常,也没有损坏。在所有其他情况下都可以正常使用。我只是偶然遇到了这个错误,但显然我的用户可能会有类似格式的文件,所以我需要检查我的应用程序导入的图像并纠正这个问题。