zoukankan
html css js c++ java
常用的GDI+ 函数使用例子
一、通过Gdi+加载和显示PNG,JPG等格式的图片
//直接加载外部的图像
Image* image = new Image(L"test.png"); //如果需要通过ID 来加载的话
BOOL CSmalltmpdemoDlg::ImageFromIDResource(UINT nID, LPCTSTR sTR, Image * & pImg) { HINSTANCE hInst = AfxGetResourceHandle(); HRSRC hRsrc = ::FindResource (hInst,MAKEINTRESOURCE(nID),sTR); // type if (!hRsrc) return FALSE; // load resource into memory DWORD len = SizeofResource(hInst, hRsrc); BYTE* lpRsrc = (BYTE*)LoadResource(hInst, hRsrc); if (!lpRsrc) return FALSE; // Allocate global memory on which to create stream HGLOBAL m_hMem = GlobalAlloc(GMEM_FIXED, len); BYTE* pmem = (BYTE*)GlobalLock(m_hMem); memcpy(pmem,lpRsrc,len); IStream* pstm; CreateStreamOnHGlobal(m_hMem,FALSE,&pstm); // load from stream pImg=Gdiplus::Image::FromStream(pstm); // free/release stuff GlobalUnlock(m_hMem); pstm->Release(); FreeResource(lpRsrc); return TRUE; }
//调用方式
Image * pImage = NULL; ImageFromIDResource(IDR_PNG_NO_PIC, L"png", pImage); delete pImage; ///////////////////////////////////////////////////////////////////////// Image * pImage = NULL; ImageFromIDResource(IDR_PNG_NO_PIC, L"jpg", pImage); delete pImage; ////////////////////////////////////////////////////////////////////////// Image * pImage = NULL; ImageFromIDResource(IDR_PNG_NO_PIC, L"bitmap", pImage); delete pImage;
二、实现一个渐变的画刷
CClientDC dc(this); CRect rect; //获得当前客户区的大小 GetClientRect(&rect); //创建Graphics对象 Graphics graphics(dc); //创建渐变画刷 LinearGradientBrush lgb(Point(0, 0), Point(rect.right, rect.bottom), Color ::Blue, Color::Green); //填充 graphics.FillRectangle(&lgb, 0, 0, rect.right, rect.bottom);
查看全文
相关阅读:
struts2校验器规范错误解决
java extend 和 implements 的区别
Java 中 synchronized的用法详解
事件处理程序
Web字体(链接)嵌入
常见浏览器bug(针对IE6及更低版本)及其修复方法
canvas实现的时钟效果
SSM(springMVCspringmybatis)环境搭建01建立Mavenweb项目
Android中关于软键盘的一些设置
Android调用系统相机和相册
原文地址:https://www.cnblogs.com/javawebsoa/p/2458419.html
最新文章
[转载]matlab高光谱影像读取、保存、分块
(转载)Ubuntu16.10+python2.7安装opencv3.2.0
(转载)Windows7无线网络连接错误: 依赖服务或组无法启动
Ubuntu16.04 安装
(转载)高光谱数据读取by multibandread函数
windows系统下安装和配置opencv3.4
Linux发送qq、网易邮件服务配置
TCP连接及11种状态总结
Ansible(自动化运维工具介绍)
Ansible(自动化运维工具常用模块)
热门文章
Ansible(自动化运维工具安装配置)
<!DOCTYPE>声明
我从来不理解JavaScript闭包,直到有人这样向我解释它...
JavaScript继承
BFC(块级格式化上下文)
CSS浮动
struts2标签详解
点击按钮弹出div,留用
正则表达式常用
通过jdbc取得数据库表结构信息
Copyright © 2011-2022 走看看