mfc做的一个程序,如何将绘画的矩形、圆形保存到位图?保存成.bmp格式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc做的一个程序,如何将绘画的矩形、圆形保存到位图?保存成.bmp格式?相关的知识,希望对你有一定的参考价值。

用了CImage类,能够读取保存照片,但是在读取照片以后,进行绘制矩形的操作,再保存,如何将原图和矩形一起保存成bmp呢?

设你的图片+矩形显示在hwnd中
HDC hDC = GetDC(hwnd);
HDC hMemDC = CreateCompatibleDC(hDC);
HBITMAP hBitmap = CreateCompatibleBitmap(hDC,宽度,高度);
hBitmap = (HBITMAP)SelectObject(hMemDC,hBitmap);
BitBlt(hMemDC,0,0,宽度,高度,hDC,0,0,SRCCOPY);
hBitmap = (HBITMAP)SelectObject(hMemDC,hBitmap);
ReleaseDC(hwnd,hDC);

这样就保存到了HBITMAP里面了,然后用FromHbitmap即可。
手敲代码,可能有误。
参考技术A 要自己编写代码实现保存。

如何将已经设置好的VC MFC 矩形按钮改成圆形 工程的基类是CView

参考技术A 如果你用的是标准的CButtonST 按钮,那么默认是不支持圆形按钮的,一个取巧的办法就是定义圆形的ICON图标资源,并指定给CButtonST,那么按钮就是圆形的了。追问

具体怎么实现 可以说说吗?

追答

CButtonST的图标按钮,是它最有特色的功能了,将几个按钮都作出图标(文字在图上),之后:

m_btn_x0.SetIcon(IDI_ICON1); 
m_btn_x0.DrawBorder(FALSE); 
m_btn_x0.SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(208,208,208)); 
m_btn_x0.SetColor(CButtonST::BTNST_COLOR_BK_IN, RGB(208,208,208)); 
m_btn_x0.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, RGB(208,208,208));

据Icon的大小调整按钮的大小,颜色也是根据底色调整。

参考技术B 使用SetWindowRgn函数实现,为按钮窗口设置一个原型区域。追问

求详细步骤

追答

先获取按钮客户区,然后利用CRgn类创建一个圆形区域,然后调用按钮的SetWindowRgn函数实现.如果希望CButtonST所对应的所有按钮都是圆形,可以在CButtonST里面进行编程实现(使用设置按钮窗口区域的办法。)

追问

来点代码吧

来点代码吧

追答

你有CButtonST这个类的原代码吗?发给我,给你改一下就可以了。

追问

留个企鹅或者邮箱吧

追答

QQ1819359253

参考技术C 加我 账号~~我一步一步告诉你!!!本回答被提问者采纳

以上是关于mfc做的一个程序,如何将绘画的矩形、圆形保存到位图?保存成.bmp格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 MFC 绘画故障?

如何在 MFC 中创建圆角矩形按钮

在Objective C中,我们如何将脸部模糊成圆形/圆形?

沿圆形绘制时,寻找角度矩形将占据(见图)

iTunes connect 是不是会自行将矩形应用程序图标转换为圆形?

如何在通过文本字段和圆形矩形按钮提供的表格视图单元格中显示数据