常用的GDI+ 函数使用例子
来源:互联网 发布:淘宝上10块的狗能买吗 编辑:程序博客网 时间:2024/04/30 01:23
一、通过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);
- 常用的GDI+ 函数使用例子
- GDI+使用例子
- 常用GDI绘图函数
- GDI常用函数
- 一个综合使用GDI对象的比较全面的例子
- list常用函数的例子
- vector常用函数的例子
- Gdi+ Graphics常用绘图函数
- GDI+ 常用的
- GDI-贝塞尔曲线 的例子
- 【STL】vector常用函数的例子
- 【STL】list常用函数的例子
- cv2的几个常用函数及例子
- SimpleDateFormat函数使用的例子
- SimpleDateFormat函数使用的例子
- SimpleDateFormat函数使用的例子
- SimpleDateFormat函数使用的例子
- SimpleDateFormat函数使用的例子
- PHP正则表达式使用详解
- 为什么可以被FlashPlayer启动的类必须继承自Sprite或MovieClip?
- Struts2 OGNL学习知识
- 求21位所有满足条件的花朵数。
- Linux信号
- 常用的GDI+ 函数使用例子
- 新闻发布系统——页面跳转相关代码加主页面
- DirectDraw基础
- 国内公司也就淘宝开源比较给力了
- Android 开发环境搭建全程演示 (jdk+eclipse+android sdk)
- 最长公共子序列
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- 另一个阶段的学习,从博客开始
- 转载天大一位学长的帖子