Hey,
ich muss euch nochmal etwas fragen
also ich habe ein Bild
und auf von diesem Bild hab ich die Koordinaten von dem Punkt Links-Oben und die von dem Punkt unten Rechts
so und nun möchte ich andere Koordinaten auf diesem Bild einzeichnen ...
dafür muss ich die ja von Grad zu Pixel umrechnen
(also von z.b. 50°N zu Pixel.x := 250 oder so)
so und hierbei passiert mir irgendwo ein fehler ...
aber ich weiß nicht wieso ... bzw wo ...
also mein bekannten Koordinaten sind :
Oben links: N50.782000 E6.071100
Unten rechts: N50.771600 E6.091800
und mein Bild (Karte) ist 986*767 pixel groß
also hab ich mir gedacht
ich muss von den Koordinaten, die ich einzeichen möchte erst einmal -77160 bzw -71100 und teile es dann mal Grad/Pixel oder ?
also ich hab das so gemacht :
Delphi-Quellcode:
For i := 0 to (High(Koordinaten)) do
begin
Koordinaten[i,1] := Copy(Koordinaten[i,1],4); // ich hab Turbo Delphi deswegen geht z.b. das hier ...
Koordinaten[i,1] := IntToStr(StrToInt(Koordinaten[i,1]) - 771600);
Koordinaten[i,1] := IntToStr(Round(StrToInt(Koordinaten[i,1]) * (104/767))) ; // in Grad / Pixel
end;
For i := 0 to (High(Koordinaten)) do
begin // Fehler in diesem Block da meine Pixel-Koordinaten größer als meine Gesamtpixel des Bildes
Koordinaten[i,2] := Copy(Koordinaten[i,2],3);
Koordinaten[i,2] := IntToStr(StrToInt(Koordinaten[i,2]) - 071100);
Koordinaten[i,2] := IntToStr(Round(StrToInt(Koordinaten[i,2]) * (207/968))) ; // in Grad / Pixel
end;
end;
die Splate 1 beinhaltet mien x wert und die Spalte 2 meine y wert...
so das Problem ist nur, dass mein Y wert nach dem Umwandeln größer ist, als die Gesamte Anzahl an Pixeln...
z.b. ist ein Y wert nach dem Umwandlen 1600 obowhl ich doch eigl. nur 767 Pixel in der Höhe zur verfügung hab...
versteht ihr mein Problem ?
könnt ihr mir Zeigen wo mein Denkfehler ist ?