再学 GDI+[91]: TGPImage(11) - 转灰度图像
代码文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)CheckBox1: TCheckBox;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);procedure CheckBox1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses GDIPOBJ, GDIPAPI;const{一般模式}ColorMatrix1: TColorMatrix = ((1.0, 0.0, 0.0, 0.0, 0.0),(0.0, 1.0, 0.0, 0.0, 0.0),(0.0, 0.0, 1.0, 0.0, 0.0),(0.0, 0.0, 0.0, 1.0, 0.0),(0.0, 0.0, 0.0, 0.0, 1.0));{灰度模式}ColorMatrix2: TColorMatrix = ((0.3, 0.3, 0.3, 0.0, 0.0),(0.59, 0.59, 0.59, 0.0, 0.0),(0.11, 0.11, 0.11, 0.0, 0.0),(0.0, 0.0, 0.0, 1.0, 0.0),(0.0, 0.0, 0.0, 0.0, 1.0));procedure TForm1.FormCreate(Sender: TObject); beginCheckBox1.Caption := '转为灰度'; end;procedure TForm1.FormPaint(Sender: TObject); varg: TGPGraphics;img: TGPImage;ImageAttributes: TGPImageAttributes; beging := TGPGraphics.Create(Canvas.Handle);img := TGPImage.Create('c:\temp\test.png');ImageAttributes := TGPImageAttributes.Create;if CheckBox1.Checked thenImageAttributes.SetColorMatrix(ColorMatrix2)elseImageAttributes.SetColorMatrix(ColorMatrix1);g.DrawImage(img,MakeRect(4, 4, img.GetWidth, img.GetHeight),0,0,img.GetWidth,img.GetHeight,UnitPixel,ImageAttributes);ImageAttributes.Free;img.Free;g.Free; end;procedure TForm1.CheckBox1Click(Sender: TObject); beginRepaint; end;end.
窗体文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 216ClientWidth = 269Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesktopCenterOnCreate = FormCreateOnPaint = FormPaintPixelsPerInch = 96TextHeight = 13object CheckBox1: TCheckBoxLeft = 183Top = 191Width = 79Height = 17Caption = 'CheckBox1'TabOrder = 0OnClick = CheckBox1Clickend end
再学 GDI+[91]: TGPImage(11) - 转灰度图像相关推荐
- mysql img格式缩放,再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)
本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co ...
- 再学 GDI+[81]: TGPImage(1) - 显示图像
已知 GDI+ 可以支持的图像格式: BMP.JPEG.GIF.TIFF.PNG.ICO.WMF.EMF TGPGraphics.DrawImage 函数有太多重载了, 一起列在这吧: functio ...
- 再学 GDI+[83]: TGPImage(3) - 平行四边形变换
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[94]: TGPImage(14) - 增减图像的红、绿、蓝三色的成分
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[86]: TGPImage(6) - 拖动图像
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
- 再学 GDI+[98]: TGPImage(18) - 获取 GDI+ 图像格式对应的 GUID
和在 Net 中不同的是, 在具体指定图像格式时, 这里常常需要的不是格式名称, 而是格式的 GUID; 知道了格式名称, 用 GetEncoderClsid 函数可以获取格式的 GUID; GetE ...
- 再学 GDI+[11]: DrawCurve - 绘制曲线
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- 再学 GDI+[25]: TGPPen - 宽度、颜色与线帽
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- 再学 GDI+[20]: TGPTextureBrush 与 TWrapMode
为什么80%的码农都做不了架构师?>>> TGPTextureBrush.Create(image: TGPImage; {用于画刷的图像}wrapMode: TWrapMod ...
最新文章
- 手机APP自动化之uiautomator2 +python3 UI自动化
- AI领域真正最最最最最稀缺的人才是……会庖丁解牛的那个人
- 基于深度学习的三维姿态估计
- 字节跳动内部学习资料泄露!mysql的安装与配置
- 64位操作系统,openCV4.1.1+VS2019参数配置
- linux bash脚本编程知识点
- MVC5+EF6 入门完整教程四
- 计算机的硬件技能,计算机的最基础——软硬件
- MySQL笔记-解决...mysql.sock (13)(两种情况会产生此问题)
- asyncio结合线程池
- Theano 中文文档 0.9 - 2. 发行说明
- 「技术大牛」是如何缩短事件平均解决时间的?
- tamtam-nuget-imageserver
- 工具篇1-CMDER--windows下工具,模拟linux好用的工具
- Ubuntu 16.04配置VNC进行远程桌面连接
- ASP.NET 访问项目网站以外的目录文件
- oracle数据库实例删除
- Unity Recorder 插件录屏--简单小记
- 一键修复“一看就会,一学就废”bug——动态规划
- ora-00257报错解决办法