mysql img格式缩放,再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)
本例效果图:
代码文件:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure FormPaint(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses GDIPOBJ, GDIPAPI;
var
n: Single = 0.75; {缩放倍数}
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Align := alRight;
with ListBox1.Items do
begin
add('InterpolationModeInvalid ');
add('InterpolationModeDefault ');
add('InterpolationModeLowQuality ');
add('InterpolationModeHighQuality ');
add('InterpolationModeBilinear ');
add('InterpolationModeBicubic ');
add('InterpolationModeNearestNeighbor ');
add('InterpolationModeHighQualityBilinear');
add('InterpolationModeHighQualityBicubic ');
end;
ListBox1.ItemIndex := 1;
end;
procedure TForm1.FormPaint(Sender: TObject);
var
g: TGPGraphics;
img: TGPImage;
rt: TGPRectF;
begin
g := TGPGraphics.Create(Self.Canvas.Handle);
img := TGPImage.Create('C:\temp\test.png');
g.DrawImage(img, 4, 4, img.GetWidth, img.GetHeight);
rt := MakeRect(4+img.GetWidth+4, 4, img.GetWidth * n, img.GetHeight * n);
g.SetInterpolationMode(ListBox1.ItemIndex - 1);
g.DrawImage(img, rt, 0, 0, img.GetWidth, img.GetHeight, UnitPixel);
img.Free;
g.Free;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Repaint;
end;
end. 窗体文件:
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 213
ClientWidth = 550
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
OnPaint = FormPaint
PixelsPerInch = 96
TextHeight = 13
object ListBox1: TListBox
Left = 357
Top = 32
Width = 185
Height = 97
ItemHeight = 13
TabOrder = 0
OnClick = ListBox1Click
end
end 缩放时的算法模式(TInterpolationMode 枚举)列表:
InterpolationModeInvalid = -1; {等效于 QualityMode 枚举的 Invalid 元素. }
InterpolationModeDefault = 0; {指定默认模式. }
InterpolationModeLowQuality = 1; {指定低质量插值法. }
InterpolationModeHighQuality = 2; {指定高质量插值法. }
InterpolationModeBilinear = 3; {指定双线性插值法. 不进行预筛选. 将图像收缩为原始
大小的 50% 以下时,此模式不适用. }
InterpolationModeBicubic = 4; {指定双三次插值法. 不进行预筛选. 将图像收缩为原始
大小的 25% 以下时,此模式不适用. }
InterpolationModeNearestNeighbor = 5; {指定最临近插值法. }
InterpolationModeHighQualityBilinear = 6; {指定高质量的双线性插值法. 执行预筛选以确保高质量
的收缩. }
InterpolationModeHighQualityBicubic = 7; {指定高质量的双三次插值法. 执行预筛选以确保高质量
的收缩. 此模式可产生质量最高的转换图像. }
mysql img格式缩放,再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)相关推荐
- 再学 GDI+[81]: TGPImage(1) - 显示图像
已知 GDI+ 可以支持的图像格式: BMP.JPEG.GIF.TIFF.PNG.ICO.WMF.EMF TGPGraphics.DrawImage 函数有太多重载了, 一起列在这吧: functio ...
- 再学 GDI+[98]: TGPImage(18) - 获取 GDI+ 图像格式对应的 GUID
和在 Net 中不同的是, 在具体指定图像格式时, 这里常常需要的不是格式名称, 而是格式的 GUID; 知道了格式名称, 用 GetEncoderClsid 函数可以获取格式的 GUID; GetE ...
- 再学 GDI+[83]: TGPImage(3) - 平行四边形变换
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[91]: TGPImage(11) - 转灰度图像
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- 再学 GDI+[94]: TGPImage(14) - 增减图像的红、绿、蓝三色的成分
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[86]: TGPImage(6) - 拖动图像
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[57]: 路径 - Widen
为什么80%的码农都做不了架构师?>>> 路径的 Widen 方法可以把路径中的线, 根据指定画笔的宽度与样式, 转换为一个范围(有点类似区域); 但转换后再描绘路径就只能使用 ...
- 再学 GDI+[56]: 路径 - Warp
为什么80%的码农都做不了架构师?>>> 通过路径的 Warp 方法可以让路径在一个范围内(四个点决定的范围)变换; 第一个参数可以是 3 个点或 4 个点的数组, 如果是 3 ...
- 再学 GDI+[11]: DrawCurve - 绘制曲线
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
最新文章
- spring mvc 总体启动流程
- java上传文件到ftp_java实现文件上传下载至ftp服务器
- 70%以上程序员,不懂数据结构和算法!
- micro asyn wininet
- Eureka和Zookeeper区别 —— 杂记
- vb中line的用法[转]
- 如何入行Android开发
- 贵州大学计算机科学与技术学院排名,贵州大学的计算机专业全国排名第几?
- 桌面APP打包利器 —— Node-webkit
- 重新认识下科技核心目录吧!附容易发的期刊名单
- 微信html5电子相册,维本- 电子相册微信H5模板【h5特效】
- Win7安装MarkdownPad2破解版,报Awesomium.Windows.Controls.WebControl 错误的解决方案
- BUUCTF MISC刷题
- 蓝牙音乐SRC侧的安卓实现
- 按键触发快捷怼人小工具(怼人必备良药)
- 优化理论20---插值法: Hermite插值法、龙格现象、分段插值、样条插值
- 以太坊中的账户、交易、Gas和区块Gas Limit等基本概念
- 非师范生教师资格证最新政策
- PostgreSQL-12 通过归档WAL日志同步主备数据
- 软件设计的三重境界:守-破-离
热门文章
- linux硬盘温度,linux查看硬盘温度跟使用情况
- mysql中的float_mysql里float是什么东西
- 性能压测服务器502报错,一种交易系统的性能测试方法及相关服务器
- [Spring mvc 深度解析(三)] 创建Spring MVC之器
- iOS使用Workspace来管理多项目
- 【PHPWord】页面Section
- 大数据 防范脱贫人口返贫_男性比女性多出3047万,从人口大数据看,房价会涨还是跌?...
- window mysql安全设置_mysql安全配置方案
- java如何用c 的方法_JAVA如何调用C/C++方法
- python2.7和3.5相互兼容吗_以与Python 2.7和Python 3.5兼容的方式使用abc.ABCMeta