Image mit Maske zeichnen



  • HI,
    aslo ich hab ein Image mit nem Bild und eins mit ner Maske (s/w Bild). Im eigentlichen Bild soll dann alles was in der Maske weiß ist transparent gezeichnet werden...
    Wie mache ich das?

    MfG

    Alexander Sulfrian



  • Hi,
    hab die Lösung:

    BitBlt(Mask->Canvas->Handle, 0, 0, Mask->Width, Mask->Height, Mask->Canvas->Handle, 0, 0, DSTINVERT);
        BitBlt(Image->Canvas->Handle, 0, 0, Mask->Width, Mask->Height, Mask->Canvas->Handle, 0, 0, SRCAND);
        BitBlt(Mask->Canvas->Handle, 0, 0, Mask->Width, Mask->Height, Mask->Canvas->Handle, 0, 0, DSTINVERT);
        BitBlt(Canvas->Handle, 0, 0, Mask->Width, Mask->Height, Mask->Canvas->Handle, 0, 0, SRCAND);
        BitBlt(Canvas->Handle, 0, 0, Mask->Width, Mask->Height, Image->Canvas->Handle, 0, 0, SRCPAINT);
    

    Dabei ist Canvast die zu bezeichnende Fläche, Image das zu zeichnende Bitmap und Mask das Bitmap das die Maske enthält....

    MfG

    Alexander Sulfrian



  • Und das geht nicht mit TCanvas::BrushCopy, oder per CopyRect und dem passenden CopyMode?


Anmelden zum Antworten