请问从RGB数据生成内存dc的最简单的方法是什么?
时间:2011-11-24
来源:互联网
我现在用的方法是这样
1 先根据我的rgb位图尺寸填充 BITMAPINFO
2 memdc.CreateCompatibleDC(hdc) 生成DC
3 hbmp=CreateDIBSection(....) 生成BITMAP, 并用 memdc.SelectObject(hbmp)
4 最后用 StretchDIBits 把rgb数组写入到这个memdc中去
5,我自己的一些处理
6,保存bmp
总觉得这个方法很繁琐,请问更合理的方式是什么?
谢谢..
作者: beanders 发布时间: 2011-11-24
作者: dizuo 发布时间: 2011-11-25
作者: smwhotjay 发布时间: 2011-11-25
我有一个24B的rgb位图数据,我想把它加载到DC,在上面画图后再保存。
我现在用的方法是这样
1 先根据我的rgb位图尺寸填充 BITMAPINFO
2 memdc.CreateCompatibleDC(hdc) 生成DC
3 hbmp=CreateDIBSection(....) 生成BITMAP, 并用 memdc.SelectObject(hbmp)
4 最后用 StretchD……
觉得你的方法合理~
作者: VisualEleven 发布时间: 2011-11-25
unsigned int * buf = (unsigned int *)你的数据;
CBitmap map;
map.SetBitmapBits(width * height * 4,buf);
CDC dc;
CClientDC pDC;
dc.CreateCompatibleDC(&pDC);
dc.SelectObject(&map);
作者: wawagua 发布时间: 2011-11-25
作者: wawagua 发布时间: 2011-11-25
我直接写bmp文件头 bmp信息头 rgb数据 完毕
我知道的也是这样子的。
作者: mjjackey 发布时间: 2011-11-25
再追加个问题
请问我如何从 CBitmap获得RGB指针呢?
我先生成一个位图 pBitmap->SetBitmapBits(24,NULL);
然后 pBitmap->CreateCompatibleBitmap(MEM_DC,1920,1080);
MEM_DC.SelectObject(pBitmap);
这时候我在MEM_DC上的绘图操作实际上就是在pBitmap上画图对吗?
我想保存成BMP,请问我如何获得这个rgb指针?
我现在的做法比较笨:1 另外再创建一个DC,然后用CreateDIBSection获得一个rgb指针 , 然后 StretchBlt给DC画图,最后保存rgb指针.
谢谢
作者: beanders 发布时间: 2011-11-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28