-
очень много написано об считывании тга файла а как сохранить в тга файл ?? может есть ссылки какие? или сами знаете методы? просто открыть то может программа тга а вот сохранить в тга не особо. созает или пустой файл или без формата который какие то данные содержит
-
-
ну что там нет про TGA
-
и мне нужно без огл не текстуры грузить а просто тга открыть изображение сохранить изображение(не посредством скрина)
-
-
procedure TTGABitmap.WriteTGAStreamData(Stream: TStream); var aBitmap: TBitmap; TGAHeader: TTGAHeader; i: integer; P1: PByteArray; begin FillChar(TGAHeader, SizeOf(TGAHeader), Chr(0)); TGAHeader.ImageType := 2;
aBitmap := TBitmap.Create; try aBitmap.Assign(self); if not (aBitmap.PixelFormat in [pf24bit, pf32bit]) then aBitmap.PixelFormat := pf24bit; if aBitmap.PixelFormat = pf24bit then TGAHeader.BPP := 24 else TGAHeader.BPP := 32; TGAHeader.Width[0] := byte(aBitmap.Width); TGAHeader.Width[1] := aBitmap.Width shr 8; TGAHeader.Height[0] := byte(aBitmap.Height); TGAHeader.Height[1] := aBitmap.Height shr 8; Stream.Write(TGAHeader, SizeOf(TGAHeader));
for i := aBitmap.Height - 1 downto 1 do begin P1 := aBitmap.ScanLine[i]; if TGAHeader.BPP = 24 then Stream.Write(P1^, aBitmap.Width * 3) else if TGAHeader.BPP = 32 then Stream.Write(P1^, aBitmap.Width * 4); end;
finally aBitmap.Free; end; end;
-
в чем ошибка?
-
> for i := aBitmap.Height - 1 downto 1 do
-
в этой строке ошибка? а в чем именно?
-
а все я понял) там 0 вместо 1) спасибо Сергей
|