环境: VS2005 VC + Gdiplus
CDC dcE;//xample
CBitmap bmpE;
Graphics gE; 成员描述:
dcE -> 通过兼容建立,成功。
bmpE -> 通过建立DIBSection,成功绑定Attach DIB句柄,并被选入 dcE。
gE -> 通过构造函数(hDC),成功构建。 状态描述:
dcE 使用dcE进行绘图操纵无任何错误
gE 使用一个Image对象成功将一副Png图形绘制至 dcE 问题描述:
gE 除了可以以任何方式正确的在gE上绘制那副png外,其他操纵全部失败,诸如绘制另一幅 Bitmap(非资源,编程建立),以及绘制简单几何,全都失败。
问,这是为什么?
CDC dcE;//xample
CBitmap bmpE;
Graphics gE; 成员描述:
dcE -> 通过兼容建立,成功。
bmpE -> 通过建立DIBSection,成功绑定Attach DIB句柄,并被选入 dcE。
gE -> 通过构造函数(hDC),成功构建。 状态描述:
dcE 使用dcE进行绘图操纵无任何错误
gE 使用一个Image对象成功将一副Png图形绘制至 dcE 问题描述:
gE 除了可以以任何方式正确的在gE上绘制那副png外,其他操纵全部失败,诸如绘制另一幅 Bitmap(非资源,编程建立),以及绘制简单几何,全都失败。
问,这是为什么?
解决方案 »
- 为什么在一个线程里调用主线程里对话框的UpdateData会使程序崩溃?
- 打开QQ对话框,为何得不到其进程句柄?而打开其他应用程序却可以得到?
- [VC++6.0界面大讨论]之一:类/资源/程序 3个视图之间切换的问题
- COleDateTime类型转换无法通用?????
- Unicode转化的问题?
- 请问怎样在几个控件重叠的时候,设置某个控件居于最顶层!也就是vb中的ZOrder功能!谢谢!
- 关于SHBrowseForFolder--up也好
- 请问VC中的HGLOBAL是什么东东啊?(内空)
- 位图显示使用DrawDib函数的问题
- 编写COM时遇到的问题,我请大家帮帮忙-好久没来分数给不多,请大家见谅
- vc release 第一次运行 崩溃!!!急急!!
- 路由跟踪的时间问题
BITMAPINFOHEADER bihE;
BYTE* bmpD;//ata
HBITMAP hB;//mpdcE.CreateCompatibleBitmap(GetDC());bihE->biSize = sizeof (BITMAPINFOHEADER) ;
bihE->biWidth = 100;
bihE->biHeight = 100;
bihE->biPlanes = 1;
bmih->biBitCount = 32;
bihE->biCompression = BI_RGB ;
bihE->biSizeImage = 0;
bihE->biXPelsPerMeter = 0;
bihE->biYPelsPerMeter = 0;
bihE->biClrUsed = 0;
bihE->biClrImportant = 0;hB = CreateDIBSection(NULL, (BITMAPINFO*)&bihE, 0, &bmpD, NULL, 0);
bmpE.FromHandle(hB);
bmpE.Attach(hB);dcE.SelectObject(&bmpE);Graphics gE(dcE.m_hDC);gE.DrawImage(...);就是画那副Png,保证没有任何问题.gE.FillRectangle(...)绝对画不上,不知为什么。
还有,dcE是作为缓冲用的,"gE.DrawImage(...);就是画那副Png,保证没有任何问题. "缓冲后画到屏幕没有任何问题。
gE.FillRectangle使用了一个绝对没有问题的单色画刷
以前是做纯GDI+的,所以一些简单的步骤绝对不会出问题。