J'essaie d'appliquer certaines transformations sur des images en utilisant un CGContextRef. J'utilise les fonctions CGContextTranslateCTM, CGContextScaleCTM et CGContextRotateCTM, mais pour garder les choses simples, je me concentre uniquement sur la première. Je me demandais pourquoi le code suivant produit exactement l'image originale ?! Est-ce que je manque quelque chose?iPhone: Transformer une image à l'aide de Quartz 2D
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);
En outre, après la traduction, à dessiner une autre image sur celui-ci mais avec une transparence partielle (par exemple, alpha = 0,5).
Je cherchai beaucoup mais n'a pas trouvé une réponse, toute aide est appréciée ... :)
S'il vous plaît noter que je suis en train de créer le contexte de pixelData, et que tempImg est créé après la traduction. Il n'y a rien de mal à l'initialisation, comme l'image d'origine est actuellement produit, mais la question est la traduction, je suppose ..
Vous êtes la vedette! Ta première phrase m'a tout raflé, bravo :-) – Garry