看帮助好象使用StretchDIBits函数,开始要定义一个HDC:Panel.Handle用来显示图象,
但是关于位图结构参数:CONST BITMAPINFO *lpBitsInfo 我不知道怎么搞。
但是关于位图结构参数:CONST BITMAPINFO *lpBitsInfo 我不知道怎么搞。
解决方案 »
- Paradox数据库,如何修改textmemo字段的内容?
- 只能导出到txt一次?
- 如何标识DELPHI中的TreeView的某一个节点??
- c/s结构的程序, 没做成3层结构 怎么保证数据库连接字符串的安全啊?
- try ... excetpt on e:Exception do 中的 E 是哪里来的?凭空出来的?怎么没在帮助里面找到说明?E是继承某个类么?这里只有 E.MESSAGE,
- 请问那里有介绍rave的书吗?
- IE 的工具栏~~知道的请进~~~~~~~~~~~
- fastreport 问题,各位帮帮忙,看一下
- 在线等,谢谢! 远程数据模块参数可以为 窗体类 吗? 我想传入窗体名称,在实现过程中对窗体中控件赋值! 但是 参数类型 怎么设置呢! 请大家帮忙!
- 高手请进,怎样让StringGrid滚动到指定的行?
- 关于CommonDialog的问题,急,急,急。。。。
- 请教一个sql语句的写法
我看了,但是不太明白其中的几个定义,象“CONST BITMAPINFO *lpBitsInfo ”是C中的一个结构,不知道在DELPHI中怎么定义这个结构。
int SetDIBitsToDevice(
HDC hdc, // handle to device context
int XDest, // x-coordinate of upper-left corner of
// dest. rect.
int YDest, // y-coordinate of upper-left corner of
// dest. rect.
DWORD dwWidth, // source rectangle width
DWORD dwHeight, // source rectangle height
int XSrc, // x-coordinate of lower-left corner of
// source rect.
int YSrc, // y-coordinate of lower-left corner of
// source rect.
UINT uStartScan, // first scan line in array
UINT cScanLines, // number of scan lines
CONST VOID *lpvBits, // address of array with DIB bits
CONST BITMAPINFO *lpbmi, // address of structure with bitmap info.
UINT fuColorUse // RGB or palette indexes
);
hdc: 可为 .canvas.handle;uStartScan : 一般为零;
cScanLines: 实际上就是图象的高度;
lpvBits:指向图象数据的指针;
Bitmapinfo:就是位图头了
fuColorUse : 一般为DIB_RGB_COLORS
看看MSDN
我就是最后几个参数如:CONST BITMAPINFO *lpbmi, // address of structure with bitmap info
不知道怎么设置啊。
bmiHeader: TBitmapInfoHeader;
bmiColors: array[0..0] of TRGBQuad;
end;
tagBITMAPINFOHEADER = packed record
biSize: DWORD;
biWidth: Longint;
biHeight: Longint;
biPlanes: Word;
biBitCount: Word;
biCompression: DWORD;
biSizeImage: DWORD;
biXPelsPerMeter: Longint;
biYPelsPerMeter: Longint;
biClrUsed: DWORD;
biClrImportant: DWORD;
end;
TBitmapInfoHeader = tagBITMAPINFOHEADER;
哦,你在查查bmp文件的结构,就明白了!
是压缩的,还是bmp这样没压缩的?如果压缩的是用什么方式压缩的?是jpg?还是。?
颜色是多少位的?8bit?16bit?32bit?还是就黑白两色?
如果是8bit的,其中还要有RGB表!
图象的高和宽在哪个字节?如果不清楚就没发下手,可以自己分析比较,也可以自己试试几种发生!
DWORD biSize; 该结构大小(bytes)
LONG biWidth; 图象宽
LONG biHeight; 图象高
WORD biPlanes; 必须为1
WORD biBitCount用多少位来表示一个点(0, 1, 4,8,16,24,32)
DWORD biCompression;有没有压缩,一般为BI_RGB无压缩
DWORD biSizeImage; 图象大小(bytes)
LONG biXPelsPerMeter; x resolution
LONG biYPelsPerMeter; y resolution
DWORD biClrUsed; 用了多少颜色数(指调色板图象)
DWORD biClrImportant; 需要多少颜色数
如果是24,或32位的,后两个可设为0。
看样子你不是真正了解电脑是这样处理图象的,你给的那些定义只是结构定义,
而不是他现在这个数据的定义,你要他如何好使用?只有他清楚了自己的数据,
才能用这个定义格式来显示图象!(有了你定义的资料,只要是有效的图数据,任何数据我都能显示,可惜,他自己都不清楚数据现在的格式,也就是说他
还不清楚这些8000H的数据那些地方与你定义的格式相匹配!!!!比如,第几个字节是图象的宽?那几个是图象的高????)
To:pathe(睡斛)
你列出的结构我都知道,但是主要是不知道代表什么意思。
To:chinakiss8848(似乎明白了)
我那4000H数据全是图像数据,不包括头文件,我也是昨天才从硬件部知道有头文件,可惜我都画完了。
谢谢各位帮忙了。