VC2005中将Picture控件显示图片保存为BMP,JPG等格式

简介:

1.在stdafx.h头文件中加入

  #include <atlimage.h>

2.保存图片

  方法一:  

复制代码
复制代码
  HBITMAP hBitmap = NULL;
//创建位图段
BITMAPINFO bmi;
LPBYTE pBits;
ZeroMemory(&bmi,sizeof(bmi));
//m_bmpShow为Picture Control控件变量名称
CDC *pShowDC = m_bmpShow.GetDC();

//获取Picture Control控件的宽度和高度
//CRect m_rcShow
m_bmpShow.GetWindowRect(&m_rcShow);

bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = m_rcShow.Width();
bmi.bmiHeader.biHeight = m_rcShow.Height();
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = 24;
bmi.bmiHeader.biCompression = BI_RGB;
hBitmap = CreateDIBSection(pShowDC->m_hDC,&bmi,DIB_RGB_COLORS,(void **)&pBits,0,0);
//创建兼容dc并选择位图段
CDC dcMem;
dcMem.CreateCompatibleDC(pShowDC);
dcMem.SelectObject(hBitmap);
dcMem.BitBlt(0,0,m_rcShow.Width(),m_rcShow.Height(),pShowDC,0,0,SRCCOPY);
m_bmpShow.ReleaseDC(pShowDC);
if( hBitmap )
{
CImage img;
img.Attach(hBitmap);
img.Save(_T("f:\\1.bmp"));
   img.Save(_T("f:\\1.jpg"));
//其它文件格式同理
DeleteObject(hBitmap);
AfxMessageBox(_T("OK!!"));
}
复制代码
复制代码

 

      方法二:

 

复制代码
复制代码
//m_bmpShow为Picture Control控件变量名称
CDC *pdc = m_bmpShow.GetDC();
CImage imag;
//获取Picture Control控件的宽度和高度
CRect rcClient;
m_bmpShow.GetWindowRect(&rcClient);
imag.Create(rcClient.Width(),rcClient.Height(),32);

::BitBlt(imag.GetDC(),0,0,rcClient.Width(),rcClient.Height(),pdc->m_hDC,0,0,SRCCOPY);

imag.Save(_T("f:\\2.bmp"));
imag.Save(_T("f:\\21.jpg"));
ReleaseDC(pdc);
imag.ReleaseDC();
AfxMessageBox(_T("OK!"));
复制代码
复制代码

 

参考:http://blog.sina.com.cn/s/blog_56e19aa70100c59k.html

   http://blog.sina.com.cn/s/blog_56e19aa70100c5a0.html

目录
相关文章
|
图形学
Qt&Vtk-003-读取jpg、png、dicom等格式图片
本文其实才能算是真正的Qt与Vtk结合,具体实现JPG、PNG、TIFF、DICOM、BMP及一个3D Cube显示。
671 1
Qt&Vtk-003-读取jpg、png、dicom等格式图片
|
Web App开发 存储 iOS开发
一日一技:把webp图片保存为png
一日一技:把webp图片保存为png
211 0
VC中GDI+双缓冲实现Picture控件中显示png图片
VC中GDI+双缓冲实现Picture控件中显示png图片
221 0
使用GDI+显示PNG
使用GDI+显示PNG
129 0
|
Java 文件存储 Maven
将PDF文件转换成PNG图片
有这样一个业务场景:需要在 WEB 页面中浏览 PDF 文件,PDF 文件存储在 FTP 服务器上,即 PDF 文件对外提供的访问地址的协议是 ftp 的。有如下几个硬条件、软需求的要求: - WEB 页面本身的可视区域不是很大; - 不想弹出对话框展示 PDF 文件; - 谷歌浏览器不支持在 http 协议的页面里内嵌 ftp 协议的路径; - 在 WEB 页面中使用系统默认的 PDF 阅读器的体验不是很好,滚动条啦,边框啦。
304 0
|
Python
将8位的tif图片改为png图片
将8位的tif图片改为png图片
207 0
|
图形学 索引
截屏为什么都说应该保存为 PNG 格式
截屏为什么都说应该保存为 PNG 格式
741 0
截屏为什么都说应该保存为 PNG 格式
|
C# 移动开发
将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小)
原文:将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小) WPF的XAML文档(Main.xaml):                                   CS代码:(Main.
1033 0
VC2005中将Picture控件显示图片保存为BMP,JPG等格式
1.在stdafx.h头文件中加入   #include 2.保存图片   方法一:     HBITMAP hBitmap = NULL; //创建位图段 BITMAPINFO bmi; LPBYTE pBits; ZeroMemory(&bmi,sizeof(bmi)); //m...
993 0