本例效果图:



代码文件:


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) - 转灰度图像相关推荐

  1. mysql img格式缩放,再学 GDI+[89]: TGPImage(9) - 图像缩放时的质量(算法)

    本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co ...

  2. 再学 GDI+[81]: TGPImage(1) - 显示图像

    已知 GDI+ 可以支持的图像格式: BMP.JPEG.GIF.TIFF.PNG.ICO.WMF.EMF TGPGraphics.DrawImage 函数有太多重载了, 一起列在这吧: functio ...

  3. 再学 GDI+[83]: TGPImage(3) - 平行四边形变换

    为什么80%的码农都做不了架构师?>>>    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...

  4. 再学 GDI+[94]: TGPImage(14) - 增减图像的红、绿、蓝三色的成分

    为什么80%的码农都做不了架构师?>>>    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...

  5. 再学 GDI+[86]: TGPImage(6) - 拖动图像

    为什么80%的码农都做不了架构师?>>>    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...

  6. 再学 GDI+[98]: TGPImage(18) - 获取 GDI+ 图像格式对应的 GUID

    和在 Net 中不同的是, 在具体指定图像格式时, 这里常常需要的不是格式名称, 而是格式的 GUID; 知道了格式名称, 用 GetEncoderClsid 函数可以获取格式的 GUID; GetE ...

  7. 再学 GDI+[11]: DrawCurve - 绘制曲线

    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...

  8. 再学 GDI+[25]: TGPPen - 宽度、颜色与线帽

    本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...

  9. 再学 GDI+[20]: TGPTextureBrush 与 TWrapMode

    为什么80%的码农都做不了架构师?>>>    TGPTextureBrush.Create(image: TGPImage; {用于画刷的图像}wrapMode: TWrapMod ...

最新文章

  1. 手机APP自动化之uiautomator2 +python3 UI自动化
  2. AI领域真正最最最最最稀缺的人才是……会庖丁解牛的那个人
  3. 基于深度学习的三维姿态估计
  4. 字节跳动内部学习资料泄露!mysql的安装与配置
  5. 64位操作系统,openCV4.1.1+VS2019参数配置
  6. linux bash脚本编程知识点
  7. MVC5+EF6 入门完整教程四
  8. 计算机的硬件技能,计算机的最基础——软硬件
  9. MySQL笔记-解决...mysql.sock (13)(两种情况会产生此问题)
  10. asyncio结合线程池
  11. Theano 中文文档 0.9 - 2. 发行说明
  12. 「技术大牛」是如何缩短事件平均解决时间的?
  13. tamtam-nuget-imageserver
  14. 工具篇1-CMDER--windows下工具,模拟linux好用的工具
  15. Ubuntu 16.04配置VNC进行远程桌面连接
  16. ASP.NET 访问项目网站以外的目录文件
  17. oracle数据库实例删除
  18. Unity Recorder 插件录屏--简单小记
  19. 一键修复“一看就会,一学就废”bug——动态规划
  20. ora-00257报错解决办法

热门文章

  1. ExtJS4.2学习(10)分组表格控件--GroupingGrid(转)
  2. Debian on VirtualBox下共享win7文件夹设置
  3. js通过身份证获取年龄
  4. 下载和安装R、RStudio !
  5. TSQLDBServerHttpApi使用工作线程池
  6. 标准库类型String,Vector
  7. 利用union判断系统的大小端
  8. 浅谈MIPS地址对齐问题
  9. 【HTTP 2】简介(Introduction)
  10. 批量获取远程计算机MAC