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);
查看全文
相关阅读:
初学Delphi,如何用delphi编写ini文件设置SQL数据库的连接!急!(100分)
Delphi Treeview 用法(概念、属性、添加编辑插入节点、定位节点、拖拽等)
[DELPHI]TreeView精确定位到每一个ITEM
Oracle查看并修改最大连接数
004-行为型-03-观察者模式(Observer)
008-SpringBoot发布WAR启动报错:Error assembling WAR: webxml attribute is required
java-mybaits-016-mybatis知识点StatementType
004-行为型-02-模板方法模式(Template Method)
004-行为型-01-策略模式(Strategy)
java-mybaits-015-mybatis逆向工程最佳实践【基础mybatis-generator、tk.mybatis、mubatis-plus】
原文地址:https://www.cnblogs.com/javawebsoa/p/2458419.html
最新文章
查询速度更快的写法
mac pycharm 跳转到对应源码查看的方法
flask路由route 设置和参数 (到时可以看看)
pymysql 操作数据库 (含使用socket连接数据库的方法)
python 获取今天、昨天、明天的时间时间戳
加载2个配置文件,且其他文件调用配置文件的方法 current_app方法
更新了容器,想保存/更新镜像该如何做
const的位置问题
c++默认参数函数注意事项
c++对c的加强
热门文章
c++命名空间---namespace
递归回溯算法解决八皇后问题
递归——汉诺塔和字符排序问题
这到底是什么bug?---已结贴
Oracle Job的使用(定时执行)
ORA-28002错误原因及解决办法
Oracle查看和修改其最大的游标数
oracle存储过程已被编译但出错,存储过程调试
解决win10 保存文件到C盘没有权限问题
各种安装包打包发布工具
Copyright © 2011-2022 走看看