AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Canvas transparent löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas transparent löschen

Ein Thema von Alallart · begonnen am 3. Mär 2019 · letzter Beitrag vom 20. Aug 2019
Antwort Antwort
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#1

Canvas transparent löschen

  Alt 3. Mär 2019, 12:24
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.
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#2

AW: Canvas transparent löschen

  Alt 4. Mär 2019, 01:10
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.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
704 Beiträge
 
Delphi 12 Athens
 
#3

AW: Canvas transparent löschen

  Alt 4. Mär 2019, 12:05
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.
Peter Below
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
252 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Canvas transparent löschen

  Alt 4. Mär 2019, 16:46
brush.style:= bsClear;
FillRect(paintBox.Clientrect);

sollte eigentlich auch funktionieren
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
ninazhudson

Registriert seit: 20. Aug 2019
1 Beiträge
 
#5

AW: Canvas transparent löschen

  Alt 20. Aug 2019, 05:50
brush.style:= bsClear;
FillRect(paintBox.Clientrect);

sollte eigentlich auch funktionieren

Ich denke das ist die richtige antwort.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03: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