[ATL/WTL]_[中级]_[使用GDIPlus剪切和缩放图片]
2015-06-14 18:13
411 查看
场景:
1. 缩放图片,不用多说,就是需要缩略图和画在界面上这类。
2. 剪切,不用多说,就是剪切一部分图片用于绘制控件背景之类.
3. wxWidget的wxImage都是自带这些功能的直接方法的.
1. 缩放图片,不用多说,就是需要缩略图和画在界面上这类。
2. 剪切,不用多说,就是剪切一部分图片用于绘制控件背景之类.
3. wxWidget的wxImage都是自带这些功能的直接方法的.
Gdiplus::Bitmap* CutImage(Gdiplus::Image* source,int x,int y,int width,int height) { Gdiplus::Rect zoomRect(0, 0, width,height); Gdiplus::Bitmap* pImageScale_ = new Gdiplus::Bitmap(zoomRect.Width, zoomRect.Height); Gdiplus::RectF rf(x,y,width,height); Gdiplus::TextureBrush brush(source,rf); Gdiplus::Graphics graphicsScale(pImageScale_); graphicsScale.FillRectangle(&brush, zoomRect); return pImageScale_; } Gdiplus::Image* ScaleImage(Gdiplus::Image* source,int width,int height) { Gdiplus::Rect zoomRect(0, 0, width,height); Gdiplus::Bitmap* pImageScale = new Gdiplus::Bitmap(zoomRect.Width, zoomRect.Height); Gdiplus::Graphics graphicsScale(pImageScale); Gdiplus::TextureBrush brush(source); graphicsScale.ScaleTransform((Gdiplus::REAL)((Gdiplus::REAL)zoomRect.Width / (Gdiplus::REAL)source->GetWidth()), (Gdiplus::REAL)((Gdiplus::REAL)zoomRect.Height / (Gdiplus::REAL)source->GetHeight())); graphicsScale.FillRectangle(&brush, zoomRect); return pImageScale; }
相关文章推荐
- 《视觉锤》笔记
- LF will be replaced by CRLF问题解决方法
- [GIT] warning: LF will be replaced by CRLF问题解决方法
- public,private,protected的区别
- 2.4 Git 基础 - 撤消操作
- Git diff (---和+++具体解释)
- git diff的用法
- git config配置文件 (共有三个配置文件)
- Git远程操作详解
- c语言10个经典小程序
- 浅析栈区和堆区内存分配的区别
- nginx
- Linux各个目录的作用
- Linux "ls -l"文件列表权限详解
- LoadRunner监控Linux的三种方法
- ubuntu防火墙设置
- Ubuntu的防火墙UFW
- 使用Xshell连接Ubuntu
- Markdown 11种基本语法
- Git Push 避免用户名和密码方法