CreateBitmapIndirect失败,为什么参数不正确呢?

ameyume
博客专家认证
2010-11-23 09:50:35

#define SHEET_PREVIEW_WIDHT 266
#define SHEET_PREVIEW_HEIGHT 150
unsigned char g_sheet_bits[SHEET_PREVIEW_WIDHT * SHEET_PREVIEW_HEIGHT * 4] = ""; // 全局变量
...

CBitmap m_bitmap; // 类成员
BITMAP m_BMP;
...
m_BMP.bmBits = g_sheet_bits; // g_sheet_bits是有数据的的,已经赋值过了
m_BMP.bmType = 0;
m_BMP.bmWidth = rc.Width();
m_BMP.bmHeight = rc.Height();
/*m_BMP.bmBitsPixel = 32;
LONG bitsPerLine = m_BMP.bmWidth * m_BMP.bmBitsPixel;
m_BMP.bmWidthBytes = ((bitsPerLine+15)/16)*2;*/
m_bitmap.CreateBitmapIndirect(&m_BMP); // 执行失败,返回值为0
TRACE("--------- %d \n", GetLastError()); // error code 87,参数不正确,把上面注释掉的设置上也还是不行。

到底是什么愿意呢?
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐鹦鹉 2010-11-23
  • 打赏
  • 举报
回复
看起来是字节没有对齐吧。位图要求行长度是四字节的倍数。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧