mfc 位图本地存储 本地位图读取显示
一、读取CImage
//在绘图函数中直接使用参数pDC,无需定义
CDC* pDC = GetDC();
//读去位图路径,根据实际情况修改
CString loatImagePath = TEXT("./res/drawing.png");
CRect imageRect;
CImage image;
//根据路径载入图片
HRESULT hresult = image.Load(loatImagePath);
//图片不存在,结束读取
if(E_FAIL==hresult)
{
//MessageBox(_T(" Image Load failed!"));
return;
}
//设置矩形框大小
imageRect.SetRect(0,0 ,image.GetWidth() , image.GetHeight()); // 只能为英文路径,否则报错。
//将图片画到Picture控件表示的矩形区域
image.Draw(pDC->m_hDC, imageRect);
二、保存文件绘制显示内容
//将存取this指向的CWnd的客户区
CClientDC dc(this);
CRect rect; //获取工作区大小(画布)
GetClientRect(&rect); //创建兼容位图
HBITMAP hBitmap = CreateCompatibleBitmap(*dc, rect.Width(), rect.Height()); //创建兼容DC 产生与dc指定设备兼容的设备上下文内存
HDC hdc = CreateCompatibleDC(*dc); //将位图选入DC,并保存返回值
HBITMAP hOldMap = (HBITMAP)SelectObject(hdc,hBitmap); //将屏幕DC(dc)的图像复制到内存DC(hdc)中
BitBlt(hdc,0,0,rect.Width(),rect.Height(),*dc,0,0,SRCCOPY); CImage image;
//将位图转化为一般图像 将hBitmap附加到对象image
image.Attach(hBitmap); //保存图像,返回执行状况
HRESULT hResult = image.Save(saveImagePath); //从CImage对象分离位图。
image.Detach(); //复原兼容DC数据
SelectObject(hdc,hOldMap);
//释放设备上下文环境(DC)
ReleaseDC(&dc);
mfc 位图本地存储 本地位图读取显示的更多相关文章
- Html5本地存储+本地数据库+离线存储
首先介绍什么叫存储: cache:通常把它叫做缓存,功能就是把从DB,或者磁盘拿出来的东西放在缓存里面,这样的话可以减少读取磁盘的IO. 磁盘文件:通常把一些图片或者一些视频都存放在磁盘上. 数据库: ...
- 前端之本地存储和jqueryUI
本地存储 本地存储分为cookie,以及新增的localStorage和sessionStorage 1.cookie 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路 ...
- DIB位图文件的格式、读取、保存和显示(转载)
一.位图文件结构 位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据 1.位图文件头:BitMapFileHeader.位图文件头主要用于识别位图文件.以下是位图文件头结构的定义: type ...
- h5 本地存储和读取信息
总结:cookie的缺点很明显,最多只能存储4KB的数据,每个HTTP请求都会被传送回服务器,明文传输(除非你使用SSL)对于购物网站而言,cookie是非常重要的,为了实现购物车功能,把已选物品加入 ...
- HTML5 学习总结(三)——本地存储
一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...
- DIB位图(Bitmap)的读取和保存
设备无关位图(Device Independent Bitmap)是可以保存在磁盘的位图文件,可以从磁盘读取到内存或者从内存保存到磁盘上.它的文件结构是标准化的,可以在Windows/Linux/Un ...
- 一起来做chrome扩展《本地存储localStorage》
chrome中的本地存储其实也是用的HTML5中localStorage,唯一区别是chrome扩展有自己的localStorage,它属于这个扩展,而不属于一个域名.得用这一点可以很好的处理扩展自己 ...
- HTML5 LocalStorage 本地存储
HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就 ...
- (转载)HTML5 LocalStorage 本地存储
原文地址:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 说到本地 ...
随机推荐
- python pickle 模块的使用详解
用于序列化的两个模块 json:用于字符串和Python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 json提供四个功能:dumps,dump,l ...
- Python常用组件、命令大总结(持续更新)
Python开发常用组件.命令(干货) 持续更新中-关注公众号"轻松学编程"了解更多. 1.生成6位数字随机验证码 import random import string def ...
- mysql 快速清除数据表数据
mysql> truncate tables; 例如: mysql> truncate email_managements;
- 基于MVC的RESTFul风格API实战
基于MVC的RESTful风格的实现 1.RESTful风格阐述 REST服务是一种ROA(Resource-Oriented Architecture,面向资源的架构)应用.主要特点是方法信息存在于 ...
- 使用docker 部署codis
使用docker 部署codis 原文地址:https://www.jianshu.com/p/85e72ae6fec3 codis的架构图 1.zookeeeper,用于存放统一配置信息和集群状态 ...
- 为什么重写 equals() 方法,一定要重写 hashCode() 呢?| HashMap
微信搜索「码农田小齐」,关注这个在纽约的程序媛,回复「01-05」可以获取计算机精选书籍.个人刷题笔记.大厂面经.面试资料等资源,么么哒- 首先我们有一个假设:任何两个 object 的 hashCo ...
- 剑指Offer-Python(16-20)
16.合并另个排序链表 # -*- coding:utf-8 -*- class ListNode: def __init__(self, x): self.val = x self.next = N ...
- 如何用css设置鼠标属性的小手
在元素中添加onmouseover="this.style.cursor='hand'"或者 cursor:pointer;
- 14Flask重要知识
一,李辉<Flask Web开发实战> 1,内网穿透 内网穿透工具可以快速让flask项目运行: 1,https://localtunnel.github.io/www/ 2,https: ...
- 前端性能优化之 gzip+cache-control
刚刚在Node.js环境下使用gzippo模块进行了测试. 使用gzip的压缩率惊人的好,达到了50%以上. 再加上express的staticCache,配合cache-control max-ag ...