3

私はただしたい:

1)ピクセルデータをコピーします。
2)各ピクセルを反復して変更します(ARGB値を255としてNSLogする方法を教えてください)
3)新しいピクセルデータからUIImageを作成します

誰かがピクセルの RGBA 値を 255 として NSLog する方法を教えてくれれば、悲惨な詳細を理解できます。これを行うには、次のコードをどのように変更すればよいですか? 具体的にお願いします!

-(UIImage*)modifyPixels:(UIImage*)originalImage
{

NSData* pixelData = (NSData*)CGDataProviderCopyData(CGImageGetDataProvider(originalImage.CGImage));
uint myLength = [pixelData length];

    for(int i = 0; i < myLength; i += 4) {


        //CHANGE PIXELS HERE
        /*
        Sidenote: Just show me how to NSLog them
        */
        //Example:
        //NSLog(@"Alpha 255-Value is: %u", data[i]);
        //NSLog(@"Red 255-Value is: %u", data[i+1]);
        //NSLog(@"Green 255-Value is: %u", data[i+2]);
        //NSLog(@"Blue 255-Value is: %u", data[i+3]);
    }

    //CREATE NEW UIIMAGE (newImage) HERE 

    return newImage;    
}
4

2 に答える 2

1

実際に画像を見たい場合は、Florent Pillet の NSLogger を使用できます: https://github.com/fpillet/NSLogger

アイデアは、デスクトップで NSLogger クライアントを起動し、アプリでこれを一番上に置くことです。

#import "LoggerClient.h"

そして、あなたのmodifyPixels方法では、次のようなことができます:

LogImageData(@"RexOnRoids",        // Any identifier to go along with the log
             0,                    // Log level
             newImage.size.width,  // Image width
             newImage.size.height, // Image height
             UIImagePNGRepresentation(newImage)); // Image as PNG

デスクトップでクライアントを起動し、iPhone でアプリを実行すると、実際の画像がクライアントに表示されます。反転、回転、色、アルファなどの画像の問題をデバッグするのに非常に便利です。

于 2011-01-22T02:55:05.710 に答える