J'essaye de prendre un CGImage et de copier ses données dans un tampon pour le traitement ultérieur. Le code ci-dessous est ce que j'ai jusqu'ici, mais il y a une chose que je n'aime pas à ce sujet - c'est de copier deux fois les données de l'image. Une fois pour CGDataProviderCopyData()
et une fois pour l'appel :getBytes:length
sur imgData. Je n'ai pas été en mesure de trouver un moyen de copier les données d'image directement dans mon tampon et couper l'étape CGDataProviderCopyData()
, mais il doit y avoir un moyen ... des pointeurs? (... jeu de mots FTW)iPhone - Obtenez un pointeur vers les données derrière CGDataProvider?
NSData *imgData = (NSData *)(CGDataProviderCopyData(CGImageGetDataProvider(myCGImageRef))); CGImageRelease(myCGImageRef); // i've got a previously-defined pointer to an available buffer called "mybuff" [imgData getBytes:mybuff length:[imgData length]];
Je suis désolé pour le jeu de mots. Je me sens terrible maintenant. – jtrim
Voilà: http://xkcd.com/138/ :-) –