怎么把加载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 变成透明的主要内容,如果未能解决你的问题,请参考以下文章

vc++ dlg中加picture控件让其显示图片怎么做?

MFC如何用一button控件选择一幅bmp图片并在picture控件上显示?

vb中控件图形框如何加载图片

picture control添加图片

VB在图片上添加文字的方法。

怎么用delphi显示image里的jpg格式,bmp格式不用设置就可以了,jpg要怎么弄?