AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rectangle im Image zeichnen

Ein Thema von renekr · begonnen am 24. Jul 2006 · letzter Beitrag vom 24. Jul 2006
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Rectangle im Image zeichnen

  Alt 24. Jul 2006, 12:36
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.
  Mit Zitat antworten Zitat
Benutzerbild von konda
konda

Registriert seit: 20. Dez 2005
253 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Rectangle im Image zeichnen

  Alt 24. Jul 2006, 13:16
Vielleicht so:
Delphi-Quellcode:
uses unit2, ...

procedure form1.button1click(sender: tobject);
begin
  form2.image1.canvas.ellipse(X-Koordinatelinkeoberecke, Y-Koordinatelinkeoberecke,
  X-Koordinaterechteobereecke, Y-Koordinaterechteobereecke);
  form2.show;
end;
"Nichts ist schwieriger als den Gedankengang eines anderen nachzuvollziehen"

Gruß Konda
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Rectangle im Image zeichnen

  Alt 24. Jul 2006, 18:19
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;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Rectangle im Image zeichnen

  Alt 24. Jul 2006, 18:28
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
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Rectangle im Image zeichnen

  Alt 24. Jul 2006, 18:54
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?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz