![]() |
Rectangle im Image zeichnen
Hi,
ich will folgendes realisieren: Ich habe eine 2. Form mit einem Image. Wenn ich nun in der 1. Form den Button anklicke soll die 2. Form aufgehen und das Image sollte an einer gewissen stelle eine Markierung hervorheben. so als Art Standort. Ich habe ID's und die Id's sind xy Werte zugeordnet. wie kann ich das am besten realisieren? Ich habe mit canvas und zeichnen noch nie was gemacht. Vielen dank. |
Re: Rectangle im Image zeichnen
Vielleicht so:
Delphi-Quellcode:
:bounce1:
uses unit2, ...
procedure form1.button1click(sender: tobject); begin form2.image1.canvas.ellipse(X-Koordinatelinkeoberecke, Y-Koordinatelinkeoberecke, X-Koordinaterechteobereecke, Y-Koordinaterechteobereecke); form2.show; end; |
Re: Rectangle im Image zeichnen
Hi,
Danke. Ich habe es vorserst mal mit einem TShape gemacht. Ds passt ganz gut. Nun habe ich ein Problem. Wenn ich das Image DesignTime reinmache und dann die Positionen bestimme passt alles. Wenn ich nun das selbe Image per Filestream zur Runtime reinlade stimmen sie nciht mehr die Positionen. An was kann das liegen ? File Load Code:
Delphi-Quellcode:
if FileExists(remotehost+Bilder_KA_Share+'\TechPL\'+bild_name+'.jpg') then begin try OleGraphic := TOleGraphic.Create; fs := TFileStream.Create(remotehost+Bilder_KA_Share+'\TechPL\'+bild_name+'.jpg', fmOpenRead or fmSharedenyNone); OleGraphic.LoadFromStream(fs); form3.Image1.Picture.Assign(OleGraphic); form3.Shape1.Left:= dmstart.adoquery19.fieldbyname('X_Left').asinteger; //272 form3.Shape1.top:= dmstart.adoquery19.fieldbyname('Y_Top').asinteger; //256 form3.Shape1.Height:= dmstart.adoquery19.fieldbyname('X_Right').asinteger; //20 form3.Shape1.Width:= dmstart.adoquery19.fieldbyname('Y_Bottom').asinteger; //113 finally fs.Free; OleGraphic.Free end; end else begin try OleGraphic := TOleGraphic.Create; fs := TFileStream.Create(remotehost+Bilder_KA_Share+'\TechPL\Leer.jpg', fmOpenRead or fmSharedenyNone); OleGraphic.LoadFromStream(fs); form3.Image1.Picture.Assign(OleGraphic); finally fs.Free; OleGraphic.Free end; end; |
Re: Rectangle im Image zeichnen
Hallo René,
hast du schon bemerkt, dass du in der DB Right und Bottom speicherst, diese Werte beim Einlesen aber als Height und Width interpretierst? Grüße vom marabu |
Re: Rectangle im Image zeichnen
Hi,
*G*. Danke aber das war auch in der DB getauscht *GG* Also doppelt falsch = Richtig!! Aber wenn ich das image wie gesagt zur Design Time lade dann apssen die Werte des Shapes zur Runtime beim laden. Wenn ich das image zur Runtime lade stimmen diese nciht mehr. Idee? Kann es durch den Stream iergendwas ändern? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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