Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi problem mit canvas (https://www.delphipraxis.net/42547-problem-mit-canvas.html)

brutus 20. Mär 2005 17:31


problem mit canvas
 
Liste der Anhänge anzeigen (Anzahl: 1)
sehr aussagekräftiger titel ;)

also ich hab folgendes problem:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
VAR i,a:integer;
begin
FOR i:=strtoint(edit1.text) TO
(strtoint(edit1.text)+strtoint(edit3.text)) DO
FOR a:=(strtoint(edit2.text)-strtoint(edit4.text)) TO
strtoint(edit2.text) DO
canvas.pixels[a,i]:=clred;
end;
funktioniert wunderbar.

bloss wenn ich dass fenster minimiere oder ein anderes fenster öffne - also irgendwie die zeichnung überdeckt wird verschwindet sie auf nimmer wiedersehen!!!!

WIESO ? ? ?


<edit>ich hab hier mal nen screenshot von meinem problem rangehangen</edit>

tyberis 20. Mär 2005 17:50

Re: problem mit canvas
 
Das Bild muss neu gezeichnet werden, sobald es überdeckt und wieder angezeigt wird. Sonst wäre ja ein riesen Buffer für jedes Fenster nötig. Deine Zeichnungsroutine fügst du am besten ins OnPaint ein.

brutus 20. Mär 2005 17:56

Re: problem mit canvas
 
ich hab bei formular/eigenschaften onpaint die prozedur button2click eingefügt - wenn jetzt die zeichnung überdeckt wird verschwinden alle bilder bis auf das letzte!
wie erreiche ich es dass ich auf dem formular mehere bilder zeichnen kann ohne dass sie wieder verschwinden?

Harald 20. Mär 2005 18:27

Re: problem mit canvas
 
Du musst die Bilder in Bilder reinzeichnen - oder aber für jedes Bild eine Redraw-Prozedur aufrufen. Die Abarbeitung einzelner Befehle zum Zeichnen speichert das Bild nicht.

Zum Speichern kannst Du JPG oder Bitmaps verwenden, aber sinnvoller (weil bessere Zeichnungsqualität) ist es natürlich, wenn die Bilder jeweils neu gezeichnet werden.

Gruß
Harald

brutus 20. Mär 2005 18:32

Re: problem mit canvas
 
gut danke, schade dass es nicht irgendwie anders geht (mit canvas meine ich)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr.

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