4

ピクセル エディター アプリケーションのコンテンツを .png ファイルに保存する必要がありますが、これを行う最善の方法を見つけるのに苦労しています。ピクセル データは 32 ビット RGBA バッファに格納されます。これを達成するために使用できる優れたツールを誰かが提案できますか?

編集: 残念ながら、CGImage とpresentationUsingType: は cocotron でサポートされていないため、PC リリース用にもアプリをターゲットにする必要があります。このタスクを達成するための 3 番目の方法を誰か提案できますか?

4

2 に答える 2

5

NSBitmapImageRep必要なものが得られるはずです。にデータをロードし、それを PNG として取得するためにNSBitmapImageRep 使用します。representationUsingType:properties:簡単な例:

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

于 2010-02-17T00:22:25.910 に答える
2

ピクセル データから CGImage を作成し、CGImageDestinationフィードします。

リリースする前に宛先を確定することを忘れないでください。この手順は必須であり、非常に忘れがちです。

于 2010-02-17T07:29:34.663 に答える