博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi 与 DirectX 之 DelphiX(38): TDIB.Filter();
阅读量:5749 次
发布时间:2019-06-18

本文共 3760 字,大约阅读时间需要 12 分钟。

  hot3.png

本例效果图:
26153616_HIFy.gif

代码文件:

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, DIB, StdCtrls;type  TForm1 = class(TForm)    DXPaintBox1: TDXPaintBox;    Button1: TButton;    Button2: TButton;    Button3: TButton;    Button4: TButton;    Button5: TButton;    Button6: TButton;    Button7: TButton;    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure FormCreate(Sender: TObject);    procedure FormDestroy(Sender: TObject);    procedure Button3Click(Sender: TObject);    procedure Button4Click(Sender: TObject);    procedure Button5Click(Sender: TObject);    procedure Button6Click(Sender: TObject);    procedure Button7Click(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}var  dib: TDIB;procedure TForm1.Button1Click(Sender: TObject);const  ImgPath1 = 'C:\Temp\DX.jpg';begin  dib.LoadFromFile(ImgPath1);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Width := dib.Width;  DXPaintBox1.Height := dib.Height;  DXPaintBox1.Repaint;end;procedure TForm1.Button2Click(Sender: TObject);begin  DXPaintBox1.DIB.Filter(dib, EdgeFilter);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.Button3Click(Sender: TObject);begin  DXPaintBox1.DIB.Filter(dib, StrongOutlineFilter);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.Button4Click(Sender: TObject);begin  DXPaintBox1.DIB.Filter(dib, Enhance3DFilter);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.Button5Click(Sender: TObject);begin  DXPaintBox1.DIB.Filter(dib, LinearFilter);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.Button6Click(Sender: TObject);begin  DXPaintBox1.DIB.Filter(dib, GranularFilter);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.Button7Click(Sender: TObject);begin  DXPaintBox1.DIB.Filter(dib, SharpFilter);  DXPaintBox1.DIB.Assign(dib);  DXPaintBox1.Repaint;end;procedure TForm1.FormCreate(Sender: TObject);begin  dib := TDIB.Create;end;procedure TForm1.FormDestroy(Sender: TObject);begin  dib.Free;end;end.
窗体文件:

object Form1: TForm1  Left = 0  Top = 0  Caption = 'Form1'  ClientHeight = 142  ClientWidth = 304  Color = clBtnFace  Font.Charset = DEFAULT_CHARSET  Font.Color = clWindowText  Font.Height = -11  Font.Name = 'Tahoma'  Font.Style = []  OldCreateOrder = False  OnCreate = FormCreate  OnDestroy = FormDestroy  PixelsPerInch = 96  TextHeight = 13  object DXPaintBox1: TDXPaintBox    Left = 8    Top = 8    Width = 81    Height = 73    AutoStretch = False    Center = False    KeepAspect = False    Stretch = False    ViewWidth = 0    ViewHeight = 0  end  object Button1: TButton    Left = 143    Top = 8    Width = 75    Height = 25    Caption = 'Button1'    TabOrder = 0    OnClick = Button1Click  end  object Button2: TButton    Left = 143    Top = 47    Width = 75    Height = 25    Caption = 'Button2'    TabOrder = 1    OnClick = Button2Click  end  object Button3: TButton    Left = 143    Top = 78    Width = 75    Height = 25    Caption = 'Button3'    TabOrder = 2    OnClick = Button3Click  end  object Button4: TButton    Left = 143    Top = 109    Width = 75    Height = 25    Caption = 'Button4'    TabOrder = 3    OnClick = Button4Click  end  object Button5: TButton    Left = 224    Top = 47    Width = 75    Height = 25    Caption = 'Button5'    TabOrder = 4    OnClick = Button5Click  end  object Button6: TButton    Left = 224    Top = 78    Width = 75    Height = 25    Caption = 'Button6'    TabOrder = 5    OnClick = Button6Click  end  object Button7: TButton    Left = 224    Top = 109    Width = 75    Height = 25    Caption = 'Button7'    TabOrder = 6    OnClick = Button7Click  endend

转载于:https://my.oschina.net/hermer/blog/320257

你可能感兴趣的文章
Django_4_视图
查看>>
Linux的netstat命令使用
查看>>
大快网站:如何选择正确的hadoop版本
查看>>
经过这5大阶段,你离Java程序员就不远了!
查看>>
IntelliJ IDEA 连接数据库详细过程
查看>>
PHP-X开发扩展
查看>>
android学习笔记——onSaveInstanceState的使用
查看>>
工作中如何做好技术积累
查看>>
怎么用sysLinux做U盘双PE+DOS??
查看>>
Spring Transactional
查看>>
shell脚本实例
查看>>
我的友情链接
查看>>
Windows Phone 7 隔离存储空间资源管理器
查看>>
apache安装报错undefined reference ssl
查看>>
关于爱情只有一句忠告
查看>>
CentOS 7下安装部署Oracle11g图文教程
查看>>
F#初学笔记06
查看>>
实战:将企业域名解析委派给企业DNS服务器
查看>>
在Lync 2013环境部署Office Web Apps
查看>>
微软大会Ignite,你准备好了么?
查看>>