Einzelnen Beitrag anzeigen

r29d43

Registriert seit: 18. Jan 2007
287 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: IconToBitmap mit weißem Hintergrund

  Alt 29. Okt 2008, 20:09
Ok, bei bmMask-Werten jenseits der 255 (z.B. 240 o. 150 etc.) kann ich den Pixel natürlich nicht so einfach mit clWhite überladen, sondern da müsste wohl ein mathematisches Verfahren her, mit dem eben das entsprechend richtige Vermischungsprodukt zwischen der Vordergrundfarbe und einem Hintergrundweiß herauskommt...

Ein diesbezüglich korrektes optisches Ergebnis bekommst du auf die Schnelle jetzt aber wahrscheinlich nur, wenn du die Ikone mittels dieser DrawIcon-ApiFunktion auf ein anderes vorab weiß gefärbtes Bitmap draufmalst. Und auf dieses so dann entstandene Bitmap könntest du ja dann (wenns denn unbedingt sein muss) nachträglich den Alpha-Kanal immer nochmal zusätzlich rübertransferieren.

Allerdings weiß ich im Moment nicht, ob beim resultierenden Bitmap ein dort dann auch noch rübertransferierte Alpha-Kanal noch irgendeinen besonderen Sinn ergeben würde. Schließlich hast du ja dann die einzelnen Farb-Bytes mit deiner dort eingearbeiteten Hintergrundfarbe schon direkt verfälscht. Diese Hintergrundsfarbe wirst du dann jedenfalls nicht mehr so einfach wieder rauskriegen und z.B. durch eine andere ersetzen können. Das Beste ist wohl, man lässt die ganz aus dem Bitmap draußen und wann immer man das Bitmap dann mal temporär ausgeben möchte, dann sollte man das einfach immer wieder mittels dieser DrawIcon-ApiFunktion anstellen (bzw. mittels einer Funktion, die das gleiche dann mit einem Bitmap+AlphaKanal macht). Viel Aufwand wäre das ja eigentlich auch nie. (Bin in diesen Sachen jetzt aber auch nicht unbedingt so der absolute Profi )
  Mit Zitat antworten Zitat