已有函数能取得显卡(或显示屏)中的数据,原形为:
int __stdcall ReadDispWindow(HDC hdc,int left,int top,int width,int height,BYTE* lpDestBuf);
函数说明:取指定窗口内的图象数据,存于数据区 lpDestBuf中,lpDestBuf中的第一行数据为图象窗口中最后一行数据,按先后顺序存放。对于8位图象数据方式:每个像素对应其灰度值;对于15位以上数据方式:每个像素有红,绿,蓝三个各8位,共24位颜色值。我不知道怎样取出lpDestBuf中的数据,经过怎样的转换才能显示为jpeg.望各位老大给一段程序。
int __stdcall ReadDispWindow(HDC hdc,int left,int top,int width,int height,BYTE* lpDestBuf);
函数说明:取指定窗口内的图象数据,存于数据区 lpDestBuf中,lpDestBuf中的第一行数据为图象窗口中最后一行数据,按先后顺序存放。对于8位图象数据方式:每个像素对应其灰度值;对于15位以上数据方式:每个像素有红,绿,蓝三个各8位,共24位颜色值。我不知道怎样取出lpDestBuf中的数据,经过怎样的转换才能显示为jpeg.望各位老大给一段程序。
解决方案 »
- Socket error #10040 message too long这个提示具体是什么意思啊,怎么解决啊?
- 一个关于回车键后进入下一个EDIT的问题,不解
- 急!!!dbgrideh问题
- 从已有的控件继承编写控件时,如何才能屏蔽父类已经Published了的属性呢?。。。。。
- 请问一个fastreport中的设置问题???
- 请问如何控制DBGrid的编辑、提交等操作??我现在一旦跑到下一条记录它就自动提交了,怎么办,根本不听我的控制?
- 又出新问题,都快要死人啦!
- 怎么用线程读取多串口数据!
- 我不知道为什么?是我的无知,还是bug?
- 请教一个有关数据库的问题.
- 帮个忙,,,,这个很简单的,,就是提供给我一个算法。那当然最好是程序了。
- 如何实现在dbgrid中,让多个单元格变颜色?(不要整行) 急!在线等待!!
原型:
extern "C" void RGBtoJPEGFile(BYTE* Buff,DWORD ImageWidth,DWORD ImageHeight,char* outFileName);
Bitmap: TBitmap;
ByteArray: PByteArray;
x, y: Integer;
begin
Bitmap := TBitmap.Create;
Bitmap.Width := 320;
Bitmap.Height := 200;
Bitmap.PixelFormat := pf24bit;
for y:=0 to 200 do
begin
ByteArray := Bitmap.ScanLine[y];
ByteArray := lpDestBuf; //这样就可以传入一行象素
end;
Bitmap.SaveToFile('tom.bmp');
Bitmap.Free;
end;稍做修改和扩展就可以了
lpDestBuf:PChar):integer;stdcall;呢?