详细见 WindowsApi GetDIBits
解决方案 »
- delphi中如何删除并释放一个按钮?
- 用DELPHI如何读写ORACLE数据库BLOB类型的字段?
- 有没有人做过IP端口映射的程序?映射的代码不知从何入手,高手赐教.
- 急求原代码(读二制文件)
- 怎样将获取的二进制文件写入SQL SERVER中,一定给分,急!
- 一个关于用图形表示统计结果的问题,请你帮忙!非常谢谢
- 毕业设计 课题是分布式售票管理系统 请大家提供思路!非常谢谢大家!!
- MIDAS三层应用系统的汉字过滤已经解决了。
- 怎么自动保存数据库里上个月的记录到excel文件中去?
- 请教fastreport的详细用法。
- 救命的问题,dll中有一个函数abc@8,delphi没有办法调用,因为@的缘故,怎办?
- 讨论!为什么用Delphi+MS SQL来做文档备份时出现这样的问题:(见内容)
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
bmp:tbitmap;
binfo:TBitmapInfo;
pbuf:pchar;
buf:array of char;
begin
bmp:=Tbitmap.Create;
bmp.LoadFromFile('c:\2.bmp');
image1.Picture.Bitmap:=bmp;
setlength(buf,(bmp.Height*bmp.Width*3)); //先假设是24bit的bmp
bmp.HandleType:=bmDIB;
pbuf:=@buf;
i:=getdibits(form1.Handle, bmp.Handle,0,bmp.Height,pbuf,binfo,DIB_RGB_COLORS);
showmessage(inttostr(i));
end;
结果i=0,帮帮我?
用GetDIB来得到HEADINFO。
var DS: TDIBSection;
然后
GetObject(bmp.Handle, SizeOf(DS), @DS);
就可以了。