AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Komplettes Canvas kopieren

Komplettes Canvas kopieren

Ein Thema von Root2k · begonnen am 8. Mai 2012 · letzter Beitrag vom 8. Mai 2012
Antwort Antwort
Root2k

Registriert seit: 7. Jun 2011
Ort: Ulm
49 Beiträge
 
Delphi XE Enterprise
 
#1

Komplettes Canvas kopieren

  Alt 8. Mai 2012, 14:01
Hi,

ich habe gerade ein kleines Problem mit einem Canvas-Objekt einer TPaintbox.

Meine Ausgangssituation:
- Ich habe eine von TPaintbox abgeleitete Komponente.
- Ich zeichne auf die Canvas-Fläche der Paintbox.
- Nun soll die gesamte Zeichenfläche kopiert werden.

Das Problem:
- Es wird nur der sichtbare Teil des Canvas kopiert. Bzw. es wird auch ein Teil der äußeren Form mitkopiert (die eben teilweise über dem Canvas liegt).


Kann ich irgendwie dafür sorgen, dass alles kopiert wird?
Ich steht grad mächtig auf dem Schlauch.

Bin für jede Hilfe dankbar!

Derzeit kopiere ich die Fläche auf diese Weise (innerhalb der abgeleiteten Paintbox-Komponente):
Delphi-Quellcode:
  tmpZwischenBitmap := TBitmap.Create;
  tmpZwischenBitmap.Width := Self.Width; // Self.Width => Breite der Paintbox
  tmpZwischenBitmap.Height := Self.Height; // Self.Height => Breite der Paintbox
  r:=rect(0, 0, tmpZwischenBitmap.Width, tmpZwischenBitmap.Height);
  tmpZwischenBitmap.Canvas.CopyRect(r, Self.Canvas, r);
PS: Habe auch schon im Internet gesucht, aber nie eine passende Lösung gefunden.

Geändert von Root2k ( 8. Mai 2012 um 14:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Komplettes Canvas kopieren

  Alt 8. Mai 2012, 14:05
Eine TPaintbox behält ihren Inhalt nicht. Normalerweise zeichnet man auch nicht direkt darauf um ein Flackern zu vermeiden. Ein Beispiel findest du hier:
http://www.michael-puff.de/Programmi...enBitmap.shtml
Auf die Weise hast du den aktuellen Inhalt auch gleich in der Hintergrundbitmap parat.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Root2k

Registriert seit: 7. Jun 2011
Ort: Ulm
49 Beiträge
 
Delphi XE Enterprise
 
#3

AW: Komplettes Canvas kopieren

  Alt 8. Mai 2012, 14:25
Danke für die schnelle und gute Antwort!
Ich versuche mich gleich mal an der Umsetzung. Bedeutet nun leider ein Stück Arbeit.

Edit:
Funktioniert wunderbar und ging doch schneller als gedacht.
Vielen, vielen Dank!!!

*closed*

Geändert von Root2k ( 8. Mai 2012 um 14:50 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:00 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