Naja... was gibts da noch zum ausführen? Mit diesem varianten Record kannst du auf die einzelnen Pixel deiner TGA-Datei zugreifen. Aus dem Header bekommst du Höhe und Breite, hoffe ich mal. du kannst das z.B. so umsetzen:
Delphi-Quellcode:
for y := 0 to tgaheight-1 do
for x := 0 to tgawidth-1 do
begin
pixelpos := bitmap.scanline[0] + Pointer(y * height + width);
tgastream.read(tgapixel, sizeof(tgapixel)); //typeof(tgapixel) = TRGBAValue
TRGBTriple(pixelpos^).red := tgapixel.red; //etc. für grün und blau; ob TRGBTriple da jetzt richtig ist, weiß ich nicht, hab das mal genommen.
end;
damit füllst du ein bitmap (das dir richtigen maße hat) mit dem tga-bild, allerdings ohne transparenz (die könntest du mit
TBitmap32 auch übernehmen, aber würde mich wundern, wenn das TGA nicht standardmäßig lädt).
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1