iPhone: die Umwandlung eines Bildes mit Quartz 2D

Ich bin versucht, einige Transformationen auf Bilder mit einem CGContextRef. Ich bin mit CGContextTranslateCTM, CGContextScaleCTM und CGContextRotateCTM Funktionen, sondern um Dinge einfach zu halten, können konzentrieren sich nur auf die erste. Ich Frage mich warum der folgende code erzeugt genau das, das original Bild?! Bin ich etwas fehlt?

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

CGContextRef g = CGBitmapContextCreate((void*) pixelData, 
                                                       width, 
                                                       height, 
                                                       RGBA_8_BIT, 
                                                       bytesPerRow, 
                                                       colorSpace, 

                                                   kCGImageAlphaPremultipliedLast);

CGContextSetShouldAntialias(g, YES);

CGContextSetInterpolationQuality(g, kCGInterpolationHigh);

CGContextTranslateCTM( g,translateX, translateY );


CGImageRef tempImg  = CGBitmapContextCreateImage (g);
CGContextDrawImage( g, CGRectMake (0, 0, width, height), tempImg );
CGContextRelease(g);
CGColorSpaceRelease( colorSpace );

Auch, nach dem übersetzen, wie Sie zeichnen ein anderes Bild über diese ein, aber mit teilweiser Transparenz (z.B. alpha = 0.5).

Ich viel gesucht aber nicht finden, eine Antwort, jede Hilfe ist willkommen... 🙂

Bitte beachten Sie, dass Schaffe ich den Kontext, aus pixelData, und dass tempImg erstellt wird, nach der übersetzung. Es ist nichts falsch bei der Initialisierung, als das ursprüngliche Bild wird derzeit produziert, aber das Problem mit der übersetzung, nehme ich an..

InformationsquelleAutor | 2009-06-21
Schreibe einen Kommentar