文档章节

如何用 GDI+ 高质量地缩放图片 - 回复 "程序牛" 的问题

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 160
阅读 9
收藏 0

问题来源: http://www.cnblogs.com/del/archive/2010/01/07/1641084.html#1742127

程序使用了 GDI+ 的新接口: http://www.cnblogs.com/del/archive/2009/12/11/1621790.html

uses GdiPlus;

procedure TForm1.Button1Click(Sender: TObject);
const
  Path1 = 'C:\Temp\Test.png';
  Path2 = 'C:\Temp\Test2.png';
var
  Img1,Img2: IGPImage;
  Graphics: IGPGraphics;
begin
  { 打开原图片 }
  Img1 := TGPImage.Create(Path1);

  { 建一个新图片, 假如是缩小一倍 }
  Img2 := TGPBitmap.Create(Img1.Width div 2, Img1.Height div 2, PixelFormat32bppARGB);

  { 获取新图片的绘图表面 }
  Graphics := TGPGraphics.Create(Img2);

  { 设置缩放质量为最高质量 }
  Graphics.InterpolationMode := InterpolationModeHighQualityBicubic;

  { 画过来 }
  Graphics.DrawImage(Img1, 0, 0, Img2.Width, Img2.Height, 0, 0, Img1.Width, Img1.Height, UnitPixel);

  { 保存 }
  Img2.Save(Path2, TGPImageFormat.Png);
end;

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2010/01/07/1641472.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
WinForm版图像编辑小程序(实现图像拖动、缩放、旋转、抠图)

闲暇之余,开发一个图片编辑小程序。程序主要特点就是可方便的对多个图像编辑,实现了一些基本的操作。本文主要介绍一下程序的功能、设计思路。 下载地址:百度网盘。https://pan.baidu.com...

源之缘
2018/12/05
0
0
深度解读 - Windows 7核心图形架构细致分析(转贴)

原帖地址:http://technet.microsoft.com/zh-cn/library/ee921514.aspx 如现在大家所想的那样, Windows7 其实是 Windows Vista 的改进版。 Windows 7 在 Windows Vista 的基础上进行了大量的...

迈克老狼1
2012/12/23
0
0
Windows桌面应用程序(1-2-4-7th) DPI和设备无关的像素

要使用Windows图形进行有效编程,您必须了解两个相关的概念: 每英寸点数(DPI) 设备无关像素(DIP)。 我们从DPI开始。这将需要短暂的绕行排版。在印刷术中,类型的大小以称为点的单位来测量。一点...

qq_37422196
2018/01/12
0
0
C# WinForm开发系列 - GDI+

UI(User Interface)编程在整个项目开发过程中是个颇为重要的环节,任何好的解决方案若没有良好的用户界面呈现给最终用户,那么就算包含了最先进的技术也不能算是好程序。UI编程体现在两个方...

长征2号
2017/11/14
0
0
关于Direct3D11里汉字显示的一些思考

本系列文章由zhmxy555(毛星云)编写,转载请注明出处。 http://blog.csdn.net/zhmxy555/article/details/8147234 作者:毛星云 邮箱: happylifemxy@163.com 这篇文章里,浅墨希望与大家一起...

长平狐
2012/11/12
794
0

没有更多内容

加载失败,请刷新页面

加载更多

跟我学Spring Cloud(Finchley版)-14-Feign使用Hystrix

Feign默认已经整合了Hystrix,本节详细探讨Feign使用Hystrix的具体细节。 服务降级 加配置,默认Feign是不启用Hystrix的,需要添加如下配置启用Hystrix,这样所有的Feign Client都会受到Hys...

周立_ITMuch
6分钟前
0
0
spark集群使用hanlp进行分布式分词操作说明

本篇分享一个使用hanlp分词的操作小案例,即在spark集群中使用hanlp完成分布式分词的操作,文章整理自【qq_33872191】的博客,感谢分享!以下为全文: 分两步: 第一步:实现hankcs.hanlp/co...

左手的倒影
9分钟前
0
0
Oracle分组排序几种常见方式

在日常操作中分页和分组比较多见,这里主要讲讲分组排序的不同场景: 1.row_number() over() row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,...

rechardchensir
16分钟前
0
0
JVM(三)对象的生死判定和算法详解

好的文章是能把各个知识点,通过逻辑关系串连起来,让人豁然开朗的同时又记忆深刻。 导读:对象除了生死之外,还有其他状态吗?对象真正的死亡,难道只经历一次简单的判定?如何在垂死的边缘...

王磊的博客
23分钟前
0
0
three.js 3D框架

https://threejs.org/docs/index.html#manual/zh/introduction/Creating-a-scene

壹峰
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部