Entwickler-Ecke
Multimedia / Grafik - TImage, Canvas, Größe ändern
Gausi - Fr 04.07.03 17:41
Titel: TImage, Canvas, Größe ändern
Neues Gebiet, neue Anfängerfragen :roll:
Hab jetzt mal angefangen, zu malen
Bisher mach ich das so
Delphi-Quelltext
1: 2: 3: 4: 5:
| with image1 do begin Canvas.RoundRect(0, 0, 100, 100, 10, 10); Canvas.TextOut(50,50,'Otto ist lieb'); end; |
klappt auch ganz gut, so weit.
Jetzt kommt es aber vor, dass ich das Bild zur Laufzeit vergrößern muss (auch über die Größe der Form hinaus)
Das mach ich dann mit
Dadurch kann ich aber noch nicht auf dem "neuen Bereich" wie oben malen.
d.h.
Delphi-Quelltext
1:
| image1.canvas.Textout(50,1900,'Ottos Bruder ist auch lieb'); |
bringt nicht den gewünschten Erfolg.
Und nochwas: wie kann ich das ganze gemalte wieder löschen?
Affje - Fr 04.07.03 21:29
ich glaube du kannst alles wieder mit image1.canvas.free löschen (???)
Tweafis - Fr 04.07.03 21:38
mit free gibst du den Speicher frei und jeder weitere Zugriff würde eine Exception auslösen. Mach lieber
Canvas.Brush.Color := clBtnFace; // oder clBlack oder clWhite oder ...
Canvas.FillRect(ClientRect);
10Markus - Sa 05.07.03 15:46
Titel: Mach es so
Hi,
ich hatte ein ähnliches Problem. Du musst ebenfalls die Größe der Bitmap ändern, d.h. wenn du folgendes machst: image1.height:=400 dann musst du auch das hier machen: image1.picture.bitmap.height:=400;
damit müsste es gehen. Das selbst musst du natürlich auch mit den anderen attributen machen.
Gausi - Sa 05.07.03 18:22
Hört sich ganz gut an. Habs aber in der Zwischenzeit anders gelöst bekommen. Da ich die Größenänderung eh nur dann brauche, wenn ich auch ein komplett neues Bild zeichnen will, geb ich einfach das komplette image frei und erzeuge es neu. Also
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| image1.free; image1:=TImage.Create(form1); image1.Parent:=form1; image1.Height:=... image1.Width:=... [...] |
Dann ist automatisch der Zeichenbereich so groß wie ich es brauche.
Is vielleicht nicht das allereleganteste (wenn ich neu tapezieren will, reiss ich ja auch nicht vorher das ganze Haus ab...), aber es geht.
Danke trotzdem ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!