Hallo,
ich habe folgendes Problem:
ich will eine Topography Datei einlesen, von der
die Spalten- sowie Zeilenanzahl der einzelnen Werte bekannt ist (X und Y).
Das Format der Datei ist little-endian und die einzelnen Werte sind
16-bit signed integer. soweit so gut. ich habe das file bereits im speicher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| var iFileLength : Integer; iBytesRead : Integer; Buffer : PChar; fileName,f : String;
begin f := FileOpen(fileName, fmOpenRead);
if (f>0) then begin iFileLength := FileSeek(f,0,2); FileSeek(f,0,0); Buffer := PChar(AllocMem(f + 1)); iBytesRead := FileRead(f, Buffer^, iFileLength);
FileClose(f); end; end; |
Nun will ich über 2 ineinanderliegende Schleifen (Y und X)
die einzelnen 16 bit signed integer aus dem buffer auslesen,
und in einem TImage einen Farbwert entsprechend der größe
des Wertes setzen (Höhenmodell).
Damit bin ich aber leider überfordert. Hab schon einiges probiert,
aber Typecasting ist scheinbar nicht das Zauberwort
Hat jemand ein paar ideen?
Vielleicht auch zu dem Problem, wie ich die Integer Werte dann in
den Typ TColor umwandeln kann (Shifting?)
Danke erstmal.
Eric
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.