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

将32位RGBA缓冲区保存到.png文件中(Cocoa OSX),第1张

概述我需要将像素编辑器应用程序的内容保存到.png文件中,但我无法找到实现此目的的最佳方法.像素数据存储在32位RGBA缓冲器中.任何人都可以建议我可以使用任何好工具来完成这个任务吗 编辑: 不幸的是,cocotron不支持CGImage和representationUsingType:我需要能够将我的应用程序定位到PC版本,有人能建议第三种方法来完成这项任务吗? NSBitmapImageRep应该 我需要将像素编辑器应用程序的内容保存到.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.

总结

以上是内存溢出为你收集整理的将32位RGBA缓冲区保存到.png文件中(Cocoa OSX)全部内容,希望文章能够帮你解决将32位RGBA缓冲区保存到.png文件中(Cocoa OSX)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1004274.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存