![]() |
In Image zeichnen
Hallo!
Ich versuche, in ein Image zu zeichnen, in das ich zuvor mit canvas.draw ein jpg geladen habe. Nun kommt eine meldung, dass ich nur in Bitmaps zeichnen kann! Muss ich jetzt das Jpg in ein Bitmap umwandeln? Wenn ja, wie mache ich das? |
Re: In Image zeichnen
Hai Caesar :stupid:
ich habe das jetzt mal mit diesem Code gemacht:
Delphi-Quellcode:
Oder meintest Du etwas ganz anderes?
procedure TForm1.Button1Click(Sender: TObject);
var jpeg : TJPEGImage; begin if (OpenPictureDialog1.Execute) then begin jpeg := TJPEGImage.Create; try jpeg.LoadFromFile(OpenPictureDialog1.FileName); Image1.Canvas.Draw(0,0,jpeg); finally jpeg.Free; end; Image1.Canvas.MoveTo(10,10); Image1.Canvas.Pen.Width := 10; Image1.Canvas.LineTo(100,100); end; end; |
Re: In Image zeichnen
Also, ich habe ohne irgendeinen Dialog ein jpg bild in Image2 geladen.
Jetzt will ich ein Rechteck mit Canvas. Retagle (oder so ähnlich) da hinein zeichnen. Sobald ich es versuche bekomme ich eine Meldung, dassich nicht in jpg's, sondern nur in bmp's zeichnen kann! und jetzt möchte ich wissen, wie ich in das jpg zeichnen kann, oder dieses in ein bmp umwandeln! |
Re: In Image zeichnen
Wie versuchst du denn da rein zu zeichnen?
Wenn du auf Image1.Canvas zeichnest müsste es doch gehen. |
Re: In Image zeichnen
Dann kommt die besagte Meldung, dass ich nur in Bitmaps, und nicht in Jpegs zeichnen kann!
Ich versuche es mit:
Delphi-Quellcode:
Form1.Image2.Canvas.Rectangle(x1,y1,x2,y2);
|
Re: In Image zeichnen
Hmm...
wenn ich das mit meinem Code oben mache geht es. Den Dialog zum öffnen habe ich nur drinnen um nicht den Pfad zum Bild tippen zu müssen. |
Re: In Image zeichnen
Hier jetzt mal der genaue Text der Meldung:
Project Project1.exe raised exception class EInvalidOperation with message 'Can only modify an image if it contais a bitmap'. Process stopped. Use Step or Run to continue. |
Re: In Image zeichnen
Hai maximus,
hast Du in dem Image schon etwas zur Entwurfszeit geladen? Wenn Ja -> Lösche es mal. |
Re: In Image zeichnen
Hab ich leider nicht!
|
Re: In Image zeichnen
Hab jetzt den Code oben nochmal ausprobiert!
Die Meldug erscheint immernoch... |
Re: In Image zeichnen
Zitat:
Das problem mit jpg ist trotzdem da. |
Re: In Image zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
Also, im Anhang is mal das ganze Programm!
Ich hoffe es hilft! |
Re: In Image zeichnen
Hai Caesar,
Du verwendest Da irgendwelche Units die wohl nicht bei Delphi dabei seind. Darum kann ich das Programm nicht testen. |
Re: In Image zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
Sorry! Diesesmal müsste es stimmen!
|
Re: In Image zeichnen
gifimage <- Wird nicht gefunden.
Und das Bild welches im Timer geladen werden soll ist wohl auch nicht da :gruebel: |
Re: In Image zeichnen
Hi!
Mir fehlt noch gifImage. Seltsamerweise greifst du auf Units zu die im übergeordneten Ordner liegen (in dem zip von dir aber im selben) Ist das richtig so? Ciao Frederic P.S. Dein Packer ist "blöd". Er hat ne Maximal-Pfadlänge, in die mein Wunschordner nicht passte |
Re: In Image zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
ok, also gifimage kannst du rausschmeisen, wird noch nicht verwendet.
Das Bild is hier im Anhang, Einfach in den Unterordner Grafik kopieren! (eine *.exe Datei, da die normale endung der Datei hier nicht eerlaubt ist!) also, wenn das programm jetzt gestartet wird, klickt man auf "Laden", wählt die Datei in der Liste aus und drückt auf "Laden". Nun ist das Bild in Form1 zu sehen. Jetzt klickt man auf "Wegpunkte setzen", an zwei vershciedenen stellen auf Form1. Nun kommt der Fehler! |
Re: In Image zeichnen
Zitat:
|
Re: In Image zeichnen
Sag mal, wie kannst Du das Programm überhaupt testen? In der Unit1 in der Procedure MousePosition ist eine Variable nicht deklariert.
Und... sei mir nicht böse.... aber der Quellcode sollte mal einheitlich formatiert werden ;-) |
Re: In Image zeichnen
Hi!
Doch an einer Stelle brauch er GifImage. Ciao Frederic |
Re: In Image zeichnen
Hmmmm.... Du lädst die Hintergrundgrafik in Image3. Dann versuchst Du in Image1 zu zeichen. Und da dieses Leer ist kommt wohl die Fehlermeldung.
|
Re: In Image zeichnen
Zitat:
|
Re: In Image zeichnen
Zitat:
|
Re: In Image zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
So. Das hier müsste jetzt entgültig funktionieren!!!
Das mit den Variablen und so waren ein paar Fehler von mir, die entstanden sind als ich gerade gifimage und co gelöscht habe! :duck: Ähm, wo zeichne ich in Image1? hab ich nicht gefunden! Bitte die Grafik verwnden, die ich vorhin hochgeladen habe! |
Re: In Image zeichnen
Zitat:
Darum musste ich sein Programm nicht anschauen. |
Re: In Image zeichnen
kann es vielleicht sein, dass das nur bie Delphi 6 kommt?
Wenn ja, wie kann ich dann das Jpg in ein bmp umwandeln? |
Re: In Image zeichnen
Das ganze funktioniert so wie es soll, solange ich kein jpg lade!
funktioniert auch, wenn das Image leer ist, dann wird das Rechteck einfach auf einen weißen Hintergrund gezeichnet! |
Re: In Image zeichnen
Kannst nicht einfach deine jpg in Paint öffnen und als .bmp speichern?!
|
Re: In Image zeichnen
Das währe natürlich eine möglichkeit!
Aber ich wollte für das Programm ausschlieslich jpg's und gif's verwenden! Jpg's, da sie kleiner sind als Bitmaps, und gif's für animierte Bilder. Kannst du mir sagen, wie ich Jpg's in Bitmaps umwandeln kann? |
Re: In Image zeichnen
Zitat:
Zitat:
|
Re: In Image zeichnen
Ich meinte eigentilich in meinem Programm! :)
|
Re: In Image zeichnen
Hilfsbereit wie ich bin :)
spuckte die Suche folgendes aus:
Code:
var
jpgImg : TJPEGImage; bmpImg : TBitmap; begin jpgImg := TJPEGImage.Create; try jpgImg.LoadFromFile('c:\test.jpg'); bmpImg := TBitmap.Create; try bmpImg.Assign(jpgImg); bmpImg.SaveToFile('c:\test.bmp'); finally bmpImg.Free; end; finally jpgImg.Free; end; end; |
Re: In Image zeichnen
Funktioniert!!!!
Danke!!! :thumb: Damit ist mein Problem gelöst! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 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 by Thomas Breitkreuz