gpt4 book ai didi

cocoa - 将 32 位 RGBA 缓冲区保存到 .png 文件中 (Cocoa OSX)

转载 作者:行者123 更新时间:2023-12-03 16:13:21 24 4
gpt4 key购买 nike

我需要将像素编辑器应用程序的内容保存到 .png 文件中,但我无法找到实现此目的的最佳方法。像素数据存储在 32 位 RGBA 缓冲区中。谁能建议我可以用来完成此任务的任何好工具?

编辑:不幸的是,cocotron 不支持 CGImage 和representationUsingType:,我也需要能够将我的应用程序定位到 PC 版本,有人可以建议第三种方法来完成此任务吗?

最佳答案

NSBitmapImageRep 应该可以满足您的需求。将数据加载到 NSBitmapImageRep 中然后使用representationUsingType:properties:将其以PNG格式输出。一个简单的例子:

NSBitmapImageRep *imageRep = 
[[NSBitmapImageRep alloc] initWithBitmapDataPlanes:imageBuffer
pixelsWide:imageWidth
pixelsHigh:imageHeight
bitsPerSample:8
samplesPerPixel:4
hasAlpha:YES
isPlanar:NO
colorSpaceName:NSDeviceRGBColorSpace
bitmapFormat:NSAlphaFirstBitmapFormat
bytesPerRow:imageWidth * 4
bitsPerPixel:32];
NSData *pngData = [imageRep representationUsingType:NSPNGFileType
properties:propertyDictionary];

如果您无法使用这些 Cocoa 方法,请查看 libpng .

关于cocoa - 将 32 位 RGBA 缓冲区保存到 .png 文件中 (Cocoa OSX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277418/

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