StretchDraw - und das ganze Canvas ist weiß?



  • Hi,
    das von dir funktioniert auch nicht!
    ABER ICH HABE EINE LÖSUNG:
    wenn ich bevor ich das Bild mit StretchDraw zeichne mit dem folgenden Code, die Zeichenfläche weiß male, bekomme ich das gewünschte Ergebnis (bei Transparent = true):

    Image1->Canvas->Brush->Color = clWhite;
     Image1->Canvas->FillRect(TRect(0, 0, Image1->Width, Image1->Height));
     Image1->Canvas->StretchDraw....
    

    Dies funktioniert! Weiß zwar nicht warum er es vorher nicht gemacht hat, aber ich könnte mir vorstellen, dass es daran liegt, dass durch das zeichen schon ein TBitmap erstellt wurde und dass WinXP beim Erzeugen mit StretchDraw einen Fehlern macht!

    Ich bedanke mich bei DerAltenburger, der mir geholfen hat die Lösung zu finden!

    MFG

    Alexander Sulfrian



  • Freut mich, wenn ich helfen konnte.

    Komisch nur, dass Dein Code bei mir auch ohne den Trick funzt? Alo ich bleib bei Win2K!!! 😃

    Soll Dein Hintergrund konstannt bleiben? Dann ginge ev. auch sowas:

    Hintergrund in TBitmap (offscreen) speichern
    'neue Graphic' uber den Hintergrund malen - in weiteres TBitmap2
    TBitmap2 in TImage kopieren!
    (oder TBitmap2 in OnPaint in Form drawen!)

    Ups, dann koenteste den Hintergrund in TBitmap auch austauschen.

    PS: Hab' ne Komponente zum Drucken von Graphiken, mit Vorschau. Bist Du interessiert die zu testen - auf Deinem XP? Ist ne Laufzeitkompo - .BPL,.BPI,.OBJ,.LIB und .H- dateien.
    Die braucht aber JPG- und GifImage- Bibliotheken! Fuer NUR BMP koennte ich die anpassen.

    Bei Interesse anmailen!


Anmelden zum Antworten