2012-03-31 12 views
3

Ich bin mir nicht sicher, ob es das richtige zu fragen ist ... aber was ich will, ist im Grunde "whitewashing" ein NSMage oder Verringerung der Opazität ... (Art von einem "inaktiven" Symbol im Finder? etwas wie das)NSBeispiel + Transparenz?

Was ist der einfachste Weg, dies zu erreichen?

Ich habe das Beispiel versucht, hier (NSImage transparency) gezeigt, aber es hat auf jeden Fall nicht für mich arbeiten ...

(Btw, die NSImage in einem ImageAndTextCell sein wird, wenn das einen Unterschied macht. ..)

+0

Haben Sie versucht, mit einem Alpha Compositing? –

Antwort

6

Alles, was Sie tun müssen, ist das Bild mit einem Alpha von weniger als 1.0 zeichnen. In Ihrer Implementierung von ImageAndTextCell, benutzen Sie einfach so etwas wie dies in der -drawWithFrame:inView: Methode:

[image drawInRect:someRect 
     fromRect:NSZeroRect 
     operation:NSCompositeSourceOver //this draws the image using the alpha mask 
     fraction:0.5]; 
+0

Danke! Es funktioniert ... :-) –

+0

Gut. NSCompositingOperationSourceOver wird jetzt anstelle des veralteten NSCompositeSourceOver verwendet. – wcochran