![]() |
Problem: JPG auf Canvas zeichnen
Erstmal ein "Hallo" an alle, da ich ja neu hier bin. ;)
So, nicht meckern, wenn das eine "Sinnlose" Frage ist, aber ich beschäftige mich erst seit ca 1,5 Jahren mit Delphi(in der Schule). Also.. Hab folgendes Problem. Ich möchte ein JPG zeichnen lassen. Also habe ich es einfacherweise auf das Formblatt zeichnen lassen mit:
Delphi-Quellcode:
Das funktioniert auch wie gewollt. Wenn ich aber mit irgendetwas über die Anwendung gehe, wird das Bild sozusagen "weg radiert". Kann man das irgendwie ändern?
var p: TPicture;
p := TPicture.Create; p.LoadFromFile ('deck\test.jpg'); form1.Canvas.Draw (20, 20, p.Graphic); p.Free; Habe mir auch schon gedacht, zeichneste das Bild einfach auf ein Canvas eines TImage Elements. Funktioniert auch prima und kann auch nicht weg radiert werden, aber der Hintergrund ist dann so komisch weiß und nicht transparent. :/ Kann mir einer helfen? :( Grüße |
Re: Problem: JPG auf Canvas zeichnen
hi,
also erstmal ein herzliches willkommen in der dp :dp: zu deinem problem: guck dir mal die aktion onresize bei form1 oder wie das bei dir heißt an! das ist jetzt zwar nicht das sauberste aber tus doch in n timer. MFG Lars Wiltfang |
Re: Problem: JPG auf Canvas zeichnen
Versuchs mal mit dem Ereignis OnPaint in deinem Formular. Die JPEG lädst du im Create (OnPaint wird oft aufgerufen unter Umständen, darum das LoadFromFile auslagern), gibst sie im Destroy wieder frei und malst im OnPaint. Das könnte hinhauen :stupid:
|
Re: Problem: JPG auf Canvas zeichnen
Zitat:
Zitat:
Grüße |
Re: Problem: JPG auf Canvas zeichnen
du schreibst deinen code einfach in nen timer machst intervall auf 1 millisekunde :)
|
Re: Problem: JPG auf Canvas zeichnen
Timer zum Zeichnen? Geht' s noch? Definiere Dir eine Variable vom Typ TJPEGImage, lade diese und zeichne sie OnPaint auf Dein Formular, wie bereits vorgeschlagen.
|
Re: Problem: JPG auf Canvas zeichnen
Zitat:
|
Re: Problem: JPG auf Canvas zeichnen
Zeig mal den Code.
|
Re: Problem: JPG auf Canvas zeichnen
Wenn du es mit dem Button anzeigen willst, führst du eben ein Boolean Variable ein, die du beim Klick auf den Button auf True setzt.. so:
Delphi-Quellcode:
Im OnPaint prüfst du vor dem .Draw() eben, ob die Variable auf True ist... Wegen dem Absturz: Code her :mrgreen:
type
class TForm1 = class(TForm) private ShowImage: Boolean; end; implementation procedure TForm1.Button1Click(Sender: TObject); begin ShowImage := not ShowImage; end; Edit: Dummer ***** Kasten :) |
Re: Problem: JPG auf Canvas zeichnen
Andere Möglichkeit: das JPEGImage mit nil initialisieren, bei Bedarf erzeugen und laden und OnPaint Assigned benutzen ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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