看来楼主是想根据现有的BMP图形数据生成BMP文件了,可以这样考虑:
var
bmp: TBitmap;
i, j: Integer;
begin
bmp:=TBitmap.Create;
//你的数据为4096个字节,我就假设是64*64了
bmp.Width :=64;
bmp.Height:=64;
for i:=0 to bmp.Height-1do
for j:=0 to bmp.Width-1do
bmp.Canvas.Pixels[i, j]:=$FF;//在这把你的数据写入就行了
bmp.SaveToFile('C:/test.bmp');
bmp.Free;
end;
另外,如果你的数据的格式是符合BMP文件格式的话,可以直接用bmp.ScanLine写入数据,速度会更快一些,类似下面写法:
for i:=0 to bmp.Height-1do
Move(dataptr, PByte(bmp.ScanLine)^, bmp.Width);