Créer UiImage de NSData

Voici le code que j'ai copié (à partir de ce site) et modifié que légèrement depuis le premier code ne compile pas. Je veux manipuler le tableau d'octets pour la détection des bords et, éventuellement, de simples changements de couleurs, mais d'abord je voulais obtenir le code de base de travail. Actuellement, le système compile et s'exécute. Il affiche un mal dessinée d'éléphant sur l'écran. Quand je touche l'image, il disparaît. Parcourant le montre le résultat de imageWithData comme 0x0. J'ai essayé avec un png et bmp et les mêmes résultats

Des indices à ce que je fais de mal ?!

ImageViewDrawable est défini comme:

@interface ImageViewDrawable : UIImageView

//I am using the following code to initialize this ImageView
ImageViewDrawable * uiv = [[ImageViewDrawable alloc] initWithImage:[UIImage imageNamed:@"ele.png"] ];

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //get and work on pixel data
    NSData* pixelData = (NSData*) CGDataProviderCopyData(CGImageGetDataProvider(self.image.CGImage));
    char* bytes =[pixelData bytes];

    //Take away the red pixel, assuming 32-bit RGBA
    for(int i = 0; i < [pixelData length]; i += 4) {
        bytes[i] = bytes[i]; //red
        bytes[i+1] = bytes[i+1]; //green
        bytes[i+2] = bytes[i+2]; //blue
        bytes[i+3] = bytes[i+3]; //alpha
    }

    //convert pixel back to uiiimage
    NSData* newPixelData = [NSData dataWithBytes:bytes length:[pixelData length]];
    char * bytes2 =[pixelData bytes];   
    UIImage * newImage = [UIImage imageWithData:newPixelData] ; 
    [self setImage: newImage ]; 
}
InformationsquelleAutor | 2009-09-13