创建BMP图象(20分)

  • 主题发起人 主题发起人 zhoufujin
  • 开始时间 开始时间
Z

zhoufujin

Unregistered / Unconfirmed
GUEST, unregistred user!
Var
P:pointer;
BMP:Tbitmap;
Begin
BMP:=Tbitmap.create;
...
P指向存储24位BMP图像的没有文件头的裸数据内存区,已知
图像的Width,Height;如何创建一个24位的Bitmap图像?
使得BMP可以方便应用?
 
Var
P:pointer;
BMP:Tbitmap;
Begin
BMP:=Tbitmap.create;
BMP.PixelFormat := pf24bit;
BMP.Width := Width;
BMP.Height:= Height;
for i:=0 to Height-1 do //前提是,在P中数据是按行存放的,否则和BMP格式不同,要转换,麻烦点
Move(Pointer(DWORD(P)+i*Width*3)^, BMP.ScanLine^, Width * 3); //把P的内容装到BMP了
.....
.....
end;
 
还有别的方法吗?
 
接受答案了.
 
后退
顶部