Cela peut être fait en allouant un bitmap temporaire avec 32 bits par pixel puis en effaçant le composant alpha avec une boucle for et et enfin le remettre dans un NSImage à nouveau.Effacer le canal alpha d'un NSImage
Je suppose que peut être fait d'une manière plus simple en utilisant une combinaison intelligente de NSColor et NSCompositingOperation. Ou peut-être que l'image doit être composée avec elle-même en utilisant drawAtPoint.
Mon code ressemble à ceci.
NSImage* img = some image with RGB and Alpha;
NSRect rect = some rect inside the image;
[img lockFocus];
[[NSColor clearColor] set];
NSRectFillUsingOperation(rect, NSCompositeXOR);
[img unlockFocus];
REMARQUE: Réglage du canal alpha 1 peut être fait en utilisant un BlackColor avec NSCompositePlusLighter.
Quel est le secret pour effacer le canal alpha?
Leibowitzn, oui, il semble que cela va fonctionner. Je vais devoir essayer ça plus tard aujourd'hui. – neoneye