网络上找到大神写的转换方法,不过就记下来,学习学习;

当然转成CImage之后就可以从CImage转换成HBITMAP 了

void DrawPic(CDC *pDC,char *buf,int len)
{
//内存数据转换成流
HGLOBAL hMem=GlobalAlloc(GMEM_FIXED,len);
BYTE* pMem=(BYTE*)GlobalLock(hMem);
memcpy(pMem,buf,len);
IStream* pStream;
HRESULT hr=CreateStreamOnHGlobal(pMem,FALSE,&pStream); //画图
CImage img;
img.Load(pStream);
img.Draw(pDC->GetSafeHdc(),CPoint(,)); //清理
img.Destroy();
pStream->Release();
GlobalFree(hMem);
}

帖子里同样也有了个疑问就是 GlobaLock 之后没有 unlock 大神给出的解释是:“这里用的固定块,GMEM_FIXED,没必要unlock”

----------------------------------------------------------------------------------

http://bbs.csdn.net/topics/390973788

把jpg文件读取到内存char* 再转换成CImage的更多相关文章

  1. IO流处理文件读取到字节数组,再从字节数组读取到文件,Java实现

    package cn.zhang.io; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; impo ...

  2. Java解决大文件读取的内存问题以及文件流的比较

    Java解决大文件读取的内存问题以及文件流的比较 传统方式 读取文件的方式一般是是从内存中读取,官方提供了几种方式,如BufferedReader, 以及InputStream 系列的,也有封装好的如 ...

  3. 将16进制unsigned char数组转换成整数

    /** * 将unsigned char数组转换成long long数值 * {0x00 0x00 0x20 0x00}转换之后得到8192 * * @param str 数组 * @param le ...

  4. json中把非json格式的字符串转换成json对象再转换成json字符串

    JSON.toJson(str).toString()假如key和value都是整数的时候,先转换成jsonObject对象,再转换成json字符串

  5. 读取数据库的数据并转换成List<>

    一.在有帮助类DbHelperSQL的时候 1.下为其中返回SqlDataReader的方法 /// <summary> /// 执行查询语句,返回SqlDataReader ( 注意:调 ...

  6. 将文件读取到内存、打印pe结构

    #include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <string.h&g ...

  7. 【文件】使用jacob将word转换成pdf格式

    使用jacob将word转换成pdf格式   1.需要安装word2007或以上版本,若安装07版本学确保该版本已安装2downbank0204MicrosoftSaveasPDF_ XPS,否则安装 ...

  8. 使用jxl读取excel内容,并转换成Json,用于Datagrid

    一.上传excel文件,得到InputStream,由InputStream得到Jxl中的Workbook,取出内容,存到二维数组中. 1.使用 Jquery Uploadify 插件(http:// ...

  9. DataTable 转换为ArrayList 再转换成 json 格式

    //JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();        //javaScriptSeriali ...

随机推荐

  1. 记录下MD5加密遇到的坑

    错误的写法: public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = M ...

  2. 《Drools7.0.0.Final规则引擎教程》之Springboot集成

    本来准备按部就班的一章一章更新Drools相关教程,怎奈QQ群组(593177274)有朋友急需Springboot与Drools的集成demo,于是抽出时间写了一个,现在拿出来分享一下.加入群组可免 ...

  3. Zookeeper集群是如何升级到新版本的

    方案1:复用老数据方案 这是经过实践的升级方案,该方案是复用旧版本的数据,zk集群拓扑,配置文件都不变,只是启动的程序为最新的版本. 参考文章: Zookeeper集群是如何升级到新版本的 方案2:重 ...

  4. Js事件处理模型/周期

    有3个阶段 1.  捕获阶段:由外向内,记录各级父元素上绑定的事件处理函数---只记录,不触发. 2.  目标触发:优先触发目标元素上的事件处理函数. 3.  冒泡:由内向外,按捕获的顺序的相反的方向 ...

  5. volatile与const综合分析

    在C/C++ 编程中,volatile与const关键字一向容易让人困惑,当然,新手可能从来不用,但是 在高质量和稳健的程序中,这两个关键字 是相当重要的. 相比const,volatile关键字的发 ...

  6. Android tcpdump 使用

    /************************************************************************** * Android tcpdump 使用 * 说 ...

  7. Oracle:Create, alter, drop and add!

    Oacle 下对标下元素约束条件的添加与删除 插入元素 alter table table_name add add_name data_type; 添加约束条件 NOT NULL alter tab ...

  8. 伪元素:focus-within

    1.盒子边框的线条动画: <div class="cont"> <div class="bb"></div> </di ...

  9. 【ES6】箭头函数

    let getPrices = () => 4.55 console.log(getPrices()) let arr = ['apple', 'banana', 'orange'] arr.f ...

  10. BZOJ - 3622:已经没有什么好害怕的了 (广义容斥)

    [BZOJ3622]已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output ...