Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Canvas transparent löschen (https://www.delphipraxis.net/199933-canvas-transparent-loeschen.html)

Alallart 3. Mär 2019 11:24

Canvas transparent löschen
 
Ich habe über einem Hintergrundbild eine TPaint-Komponente gelegt, auf der ich mit der Maus zeichne. Nun will ich gelegentlich die TPaint-Fläche wieder löschen, und nun fällt es mir nicht ein wie ich das machen kann. Ich habe gerade eine Blockade.

Die Methode mit FillRect/ClipRect kann ich nicht nehmen, denn dann überzeichnet er mir Canvas mit einer Farbe. Dann ist es nicht mehr Transparent.

Alallart 4. Mär 2019 00:10

AW: Canvas transparent löschen
 
Ich habe herausgefunden, dass ein simples Repaint die Paint-Komponente löscht. Verstehe ich noch nicht richtig warum, aber sie wird auf jeden Fall gelöscht.

peterbelow 4. Mär 2019 11:05

AW: Canvas transparent löschen
 
Zitat:

Zitat von Alallart (Beitrag 1426867)
Ich habe herausgefunden, dass ein simples Repaint die Paint-Komponente löscht. Verstehe ich noch nicht richtig warum, aber sie wird auf jeden Fall gelöscht.

Meinst Du TPaintbox? Das ist eigentlich nur ein Wrapper für den Canvas des Controls, auf dem die Paintbox liegt. Ein Refresh zeichnet zuerst den Hintergrund der Paintbox neu und feuert dann den OnPaint-Event, in dem man dann noch selbst auf den paintbox.canvas zeichnen kann. Wenn man da den Hintergrund nicht selbst irgendwie füllt erscheint die Paintbox also transparent und zeigt den Abschnitt des Parents, der "unter" der Paintbox liegt.

TomyN 4. Mär 2019 15:46

AW: Canvas transparent löschen
 
brush.style:= bsClear;
FillRect(paintBox.Clientrect);

sollte eigentlich auch funktionieren

ninazhudson 20. Aug 2019 04:50

AW: Canvas transparent löschen
 
Zitat:

Zitat von TomyN (Beitrag 1426931)
brush.style:= bsClear;
FillRect(paintBox.Clientrect);

sollte eigentlich auch funktionieren


Ich denke das ist die richtige antwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz