Ход программы следующий: берется текстовый файл с цветами пикселей, формируется новый Bitmap и через ScanLine он изменяет
свои цвета в соответствии с цветами из файла.
Проблема: сохранив Bitmap, появляются какие-то левые цвета. Вот пример:
Было:
http://s010.radikal.ru/i314/1606/7b/0c4a3a15bd84.png
Стало:
http://s018.radikal.ru/i517/1606/21/e4c95ef91a5e.png
А вот код:
Код:
var
Bitmap: TBitmap;
f: TextFile;
i,j: cardinal;
PScanLineArray: PByteArray;
color: byte;
begin
Bitmap:=TBitmap.Create;
Bitmap.Height:=369;
Bitmap.Width:=328;
Bitmap.PixelFormat:=pf8bit;
AssignFile(f,'Data.txt'); //в f цвета пикселей
Reset(f);
for i:=0 to 368 do
begin
PScanLineArray:=Bitmap.ScanLine[i];
for j:=0 to 328 do
begin
read(f,color);
PScanLineArray[j]:=color;
end;
end;
Image1.Canvas.Draw(0,0,Bitmap);
Bitmap.Free;
CloseFile(f);
end;
Файл 10 раз перепроверил. Он был сформирован тоже ScanLine'ом.
Битность цветов в файле, соответственно, 8.