怎么把加载bmp图片的picture control 变成透明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把加载bmp图片的picture control 变成透明相关的知识,希望对你有一定的参考价值。
PowerPoint中,有时我们需要将资料中的BMP图片(位图)插入到当前的演示文稿中。图片的背景色一般都与当前文稿的背景颜色不同,这种图片又不能像绘制类图形那样可以很方便地更换背景色,怎么办?其实我们可以通过一种变通的方法来设置透明色。首先点击图片工具栏上的“设置透明色”按钮,鼠标随即变成一支笔的模样。用它点击一下图片,你会发现图片是变成透明了,但其中的图形也模糊不清了。
不要急,连续点击工具栏上的“降低亮度”按钮,将“亮度”降为最低即可。
再将图片导出来 参考技术A cimage
img;
hresult
result
=
img.load(_t(".\\res\\无标题1.bmp"));
if
(result!=s_ok)
return;
m_hpic.setbitmap(img);//m_hpic是通过class
wizard对
picture
control设置的变量名
还要设置picture
control控件的type属性为bitmap
picture control添加图片
void CMFCApplication1Dlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CString filter; filter = "所有文件(*.bmp,*.png,*.gif,*.tiiff)|*.bmp;*.png;*.jpg;*.gif;*.tiff| BMP(*.bmp)|*.bmp| JPG(*.jpg)|*.jpg|PNG(*.png)|*.png|GIF(*.gif)|*.gif| TIFF(*.tiff)|*.tiff||"; CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter, NULL); if (dlg.DoModal() == IDOK) { //打开对话框获取图像信息 CString BmpName = dlg.GetPathName(); //获取文件路径名 如D:\pic\abc.bmp CImage myImage; myImage.Load(BmpName); CRect rect; CWnd *pWnd = GetDlgItem(IDC_STATIC); //(这是在此资源创建的类的内部, 若是在外部, 可先通过获得CMainFrame的指针, 再通过pMianFrame->GetDlgItem(IDCk_MY_PIC)来获取) CDC *pDC = pWnd->GetDC(); pWnd->GetClientRect(&rect); pDC->SetStretchBltMode(STRETCH_HALFTONE); myImage.Draw(pDC->m_hDC, rect); ReleaseDC(pDC); myImage.Destroy(); } }
以上是关于怎么把加载bmp图片的picture control 变成透明的主要内容,如果未能解决你的问题,请参考以下文章