Hallo,
ich möchte in einer
Bitmap.Canvas einen Text schreiben, der z. B. nach rechts oben läuft. Für horizontalen Text nutze ich
Canvas.TextOut, geht bestens.
Für einen nicht horizontalen Text nutze ich die Funktion
PlgBlt der Windows API. Ich schreibe meinen Text in ein neues Hilfs-Bitmap und kopiere dann den Textbereich in einen schiefen Bereich meiner Haupt-Bitmap. Geht einwandfrei.
Nun möchte ich, dass nur die eigentlichen Buchstaben kopiert werden, der Hintergrund des Textes in meiner Hilfs-Bitmap soll also als transparent interpretiert werden. Dafür gibt es in
PlgBlt einen Parameter zur Maskierung(
hbmmask) und bei der Bitmap Methoden
mask() und die Eigenschaft
maskhandle. Leider ist die Hilfe dazu in der Windows-SDK sehr dürftig und Google findet auch kaum was. Meine Versuche waren auch erfolglos.
Es wäre für mich einfach, die Farbe jeden Pixels der Zielfläche selbst zu berechnen und selbst einzufärben oder für den Hintergrund eben nicht. Aber wenn
PglBlt das kann, dann würde ich diese Möglichkeit auch gerne nutzen.
Kennt jemand einen Link zu einer Erläuterung, wie das mit
hbmmask funktioniert oder hat ein paar Zeilen Code dazu?
Wohl eine eher exotische Frage, aber vielleicht habe ich ja Glück, so wie ich schon mehrfach bei wenig Hoffnung Tipps hier erhalten habe, die mich ans Ziel gebracht haben.
Viele Grüße
GuaAck
Moderiert von Th69: Delphi-Tags hinzugefügt