将CGImageRef保存为PNG-8

时间:2013-06-17 22:48:22

标签: objective-c image libpng

我想知道如何将CGImageRef保存为基于调色板的PNG-8文件。

我有以下PNG-24代码:

CFURLRef url = (CFURLRef)[[NSURL alloc] initFileURLWithPath:path];

CGImageDestinationRef destination = CGImageDestinationCreateWithURL(url, kUTTypePNG, 1, NULL);
CGImageDestinationAddImage(destination, image, properties);
CGImageDestinationFinalize(destination);

希望现在将其转换为PNG-8。如果我确实需要使用libpng,你会怎么重写呢?

1 个答案:

答案 0 :(得分:0)

嗯,没有答案:)我相信解决方案可能是使用libpng,但我还没有尝试过。我现在将此标记为已接受的答案,但如果有人能提供一个好的提示,我很乐意改变它!

感谢。

修改

我最终攻击https://github.com/pornel/pngquant以使其接受CGImageRefs,并保存PNG-8文件。它不漂亮。最后,我实际上切换到GIF(kUTTypeGIF),在我的测试中跑得快得多。