Delphi 与 DirectX 之 DelphiX(94): TDIB.DrawAdditive();
为什么80%的码农都做不了架构师?>>>
本例效果图:
代码文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DIB, StdCtrls;typeTForm1 = class(TForm)DXPaintBox1: TDXPaintBox;Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button4Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}vardib: TDIB;procedure TForm1.FormCreate(Sender: TObject);
constImgPath1 = 'C:\Temp\test.bmp';
beginPosition := poScreenCenter;dib := TDIB.Create;dib.LoadFromFile(ImgPath1);DXPaintBox1.Width := dib.Width;DXPaintBox1.Height := dib.Height;
end;procedure TForm1.FormDestroy(Sender: TObject);
begindib.Free;
end;procedure TForm1.Button1Click(Sender: TObject);
beginDXPaintBox1.DIB.Assign(dib);DXPaintBox1.Repaint;
end;procedure TForm1.Button2Click(Sender: TObject);
beginDXPaintBox1.DIB.Fill(clWhite);DXPaintBox1.DIB.DrawAdditive(dib, 0, 0, dib.Width, dib.Height, 1);DXPaintBox1.Repaint;
end;procedure TForm1.Button3Click(Sender: TObject);
beginDXPaintBox1.DIB.Fill(clWhite);DXPaintBox1.DIB.DrawAdditive(dib, 0, 0, dib.Width, dib.Height, 128);DXPaintBox1.Repaint;
end;procedure TForm1.Button4Click(Sender: TObject);
beginDXPaintBox1.DIB.Fill(clBlack);DXPaintBox1.DIB.DrawAdditive(dib, 0, 0, dib.Width, dib.Height, 128);DXPaintBox1.Repaint;
end;end.
窗体文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 204ClientWidth = 253Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalseOnCreate = FormCreateOnDestroy = FormDestroyPixelsPerInch = 96TextHeight = 13object DXPaintBox1: TDXPaintBoxLeft = 8Top = 8Width = 81Height = 73AutoStretch = FalseCenter = FalseKeepAspect = FalseStretch = FalseViewWidth = 0ViewHeight = 0endobject Button1: TButtonLeft = 8Top = 174Width = 56Height = 25Caption = 'Button1'TabOrder = 0OnClick = Button1Clickendobject Button2: TButtonLeft = 68Top = 174Width = 56Height = 25Caption = 'Button2'TabOrder = 1OnClick = Button2Clickendobject Button3: TButtonLeft = 129Top = 174Width = 56Height = 25Caption = 'Button3'TabOrder = 2OnClick = Button3Clickendobject Button4: TButtonLeft = 190Top = 174Width = 56Height = 25Caption = 'Button4'TabOrder = 3OnClick = Button4Clickend
end
转载于:https://my.oschina.net/hermer/blog/320007
Delphi 与 DirectX 之 DelphiX(94): TDIB.DrawAdditive();相关推荐
- Delphi 与 DirectX 之 DelphiX(25): TDIB.Blur();
DelphiX 的组件面板上, 第二个就是 TDXDIB; TDXDIB.DIB 是 TDXDIB 的唯一属性(其他是 TComponent 固有的); TDXDIB.DIB 属性是一个 TDIB 对 ...
- Delphi 与 DirectX 之 DelphiX(89): TDIB.DrawAlphaMask();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(95): TDIB.x
//让 TDIB 的这些特效烦透了: 多.还重复.又不完善; 还没有测试或测试失败的方法: procedure DrawShadow(SrcDIB: TDIB; X, Y, Width, Height ...
- Delphi 与 DirectX 之 DelphiX(33): TDIB.SmoothRotateWrap();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(93): TDIB.DrawDarken();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(83): TDIB.FilterLine()、FilterRect();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(77): TDIB.Distort();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(52): TDIB.DoSaturation();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(35): TDIB.Saturation();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(72): TDIB.SephiaEffect();
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
最新文章
- percona-5.7二进制多实例安装
- 我记录网站综合系统 -- 技术原理解析[10:PermissionChecker流程]
- Linux中环境变量文件profile、bashrc、bash_profile之间的区别和联系
- 亚马逊给警察局装备了人脸识别系统就万事大吉了?没那么容易
- Power of Two
- 《那些年啊,那些事——一个程序员的奋斗史》——76
- c++ map的存储结构_「软帝学院」java集合类框架map及相关常见问题二
- iOS开发之Xcode开发快捷键大全
- Android保存多张图片到本地
- [STM8L15x]输入捕获获取PWM占空比
- mysql 登录失败18456_sql server 用户'sa'登录失败(错误18456)
- qq空间个人档html代码,QQ空间如何进行个人档管理?
- 什么是生物特征识别?有哪些生物特征?
- Oracle 创建表空间,创建表、数据增删改
- 基于jaccard计算论文对的reference相似度的算法(2)
- Codeforce 1335C - Two Teams Composing 统计技能种类数量+统计同一技能最大数量
- Visiom Transformer 代码实现--ViT
- 这是你的新计算机房吗英语咋写,2017年pep四年级下册英语作业题
- 职场中你是“麦克利兰激励需要理论”中的哪类人
- 我们需要什么样的监控摄像机?
热门文章
- Scikit-learn:主要模块和基本使用方法
- Docker教程:docker的概念及安装
- java rsync上传_Rsync自动同步工具
- java检测栈溢出_java运行方法栈溢出
- 【报错】table burner has no column named USER (code 1): , while compiling: INSERT INTO burner(USER,YELL
- leetcode 448. 找到所有数组中消失的数字(Find All Numbers Disappeared in an Array)
- 4-2017-12-2-2约瑟夫环
- phonegap安装中的问题
- aspose.word使用简单方法
- Cookie enable 的检测