Delphi 与 DirectX 之 DelphiX(15): TPictureCollectionItem.DrawWaveX、DrawWaveY ...
为什么80%的码农都做不了架构师?>>>
此类函数有:TPictureCollectionItem.DrawWaveX();
TPictureCollectionItem.DrawWaveXAdd();
TPictureCollectionItem.DrawWaveXAlpha();
TPictureCollectionItem.DrawWaveXSub();
TPictureCollectionItem.DrawWaveY();
TPictureCollectionItem.DrawWaveYAdd();
TPictureCollectionItem.DrawWaveYAlpha();
TPictureCollectionItem.DrawWaveYSub();
本例仅使用了 DrawWaveX、DrawWaveY, 效果图:
代码文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DXDraws, StdCtrls, DXClass;typeTForm1 = class(TForm)DXDraw1: TDXDraw;DXImageList1: TDXImageList;DXTimer1: TDXTimer;Edit1: TEdit;CheckBox1: TCheckBox;procedure FormCreate(Sender: TObject);procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);procedure Edit1Change(Sender: TObject);procedure CheckBox1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}constarr: array[0..31] of Smallint =(-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,7,6,5,4,3,2,-1,0,-1,-2,-3,-4,-5,-6,-7);varPicItem: TPictureCollectionItem;amp,len: Integer;procedure TForm1.Edit1Change(Sender: TObject);
beginlen := StrToIntDef(Edit1.Text, 0);
end;procedure TForm1.FormCreate(Sender: TObject);
constImgPath1 = 'C:\Temp\DelphiX.bmp';
beginDXImageList1.DXDraw := DXDraw1;PicItem := TPictureCollectionItem(DXImageList1.Items.Add);PicItem.Picture.LoadFromFile(ImgPath1);DXDraw1.Align := alClient;DXTimer1.Interval := 30;Edit1.Text := '60';Edit1Change(nil);CheckBox1.Checked := True;CheckBox1.Caption := 'DrawWaveX';
end;procedure TForm1.CheckBox1Click(Sender: TObject);
constbs: array[Boolean] of string = ('DrawWaveY', 'DrawWaveX');
beginCheckBox1.Caption := bs[CheckBox1.Checked];
end;procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
beginDXDraw1.Surface.Fill(0);if CheckBox1.Checked thenPicItem.DrawWaveX(DXDraw1.Surface,(DXDraw1.Width - PicItem.Width) div 2, (DXDraw1.Height - PicItem.Height) div 2,PicItem.Width, PicItem.Height,0,arr[amp and 31],len,0)elsePicItem.DrawWaveY(DXDraw1.Surface,(DXDraw1.Width - PicItem.Width) div 2, (DXDraw1.Height - PicItem.Height) div 2,PicItem.Width, PicItem.Height,0,arr[amp and 31],len,0);DXDraw1.Flip;Inc(amp);
end;end.
窗体文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 154ClientWidth = 259Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalseOnCreate = FormCreatePixelsPerInch = 96TextHeight = 13object DXDraw1: TDXDrawLeft = 8Top = 8Width = 185Height = 121AutoInitialize = TrueAutoSize = TrueColor = clBlackDisplay.FixedBitCount = FalseDisplay.FixedRatio = TrueDisplay.FixedSize = TrueOptions = [doAllowReboot, doWaitVBlank, doCenter, do3D, doDirectX7Mode, doHardware, doSelectDriver]SurfaceHeight = 121SurfaceWidth = 185TabOrder = 0Traces = <>endobject Edit1: TEditLeft = 212Top = 125Width = 38Height = 21TabOrder = 1Text = 'Edit1'OnChange = Edit1Changeendobject CheckBox1: TCheckBoxLeft = 120Top = 129Width = 86Height = 17Caption = 'CheckBox1'TabOrder = 2OnClick = CheckBox1Clickendobject DXImageList1: TDXImageListItems.ColorTable = {00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}Items = <>Left = 224Top = 8endobject DXTimer1: TDXTimerActiveOnly = TrueEnabled = TrueInterval = 1000OnTimer = DXTimer1TimerLeft = 224Top = 48end
end
转载于:https://my.oschina.net/hermer/blog/319040
Delphi 与 DirectX 之 DelphiX(15): TPictureCollectionItem.DrawWaveX、DrawWaveY ...相关推荐
- Delphi 与 DirectX 之 DelphiX(12): TPictureCollectionItem.DrawAlpha
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(25): TDIB.Blur();
DelphiX 的组件面板上, 第二个就是 TDXDIB; TDXDIB.DIB 是 TDXDIB 的唯一属性(其他是 TComponent 固有的); TDXDIB.DIB 属性是一个 TDIB 对 ...
- Delphi 与 DirectX 之 DelphiX(33): TDIB.SmoothRotateWrap();
本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...
- Delphi 与 DirectX 之 DelphiX(6): 让 TDXImageList 和常规 VCL 交互使用
本例测试了两个问题: 1.其他 VCL 加载的图片能否给 TDXImageList 使用; 2.TDXImageList 中的图片能否给其他 VCL 使用. 例子中先用 TPicture 加载了图片, ...
- Delphi 与 DirectX 之 DelphiX(89): TDIB.DrawAlphaMask();
本例效果图: 代码文件: 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(95): TDIB.x
//让 TDIB 的这些特效烦透了: 多.还重复.又不完善; 还没有测试或测试失败的方法: procedure DrawShadow(SrcDIB: TDIB; X, Y, Width, Height ...
- Delphi 与 DirectX 之 DelphiX(72): TDIB.SephiaEffect();
为什么80%的码农都做不了架构师?>>> 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, V ...
最新文章
- C 整数反转
- Ubuntu下运行Faster-Rcnn
- Caffe学习系列(9):运行caffe自带的两个简单例子
- Linux下判断字符串长度
- awk多分隔符功能及wc命令案列及企业级应用
- numpy数组基础语法
- Ajax Toolkit 控件学习系列(5) ——CalendarExtender使用
- php 取出多重数组中的一列_PHP提取多维数组指定一列的方法大全
- 互利网上数字金融典型场景: 网络支付
- 爬取京东评论、分词+词频统计、词云图展示
- 2021年中国微粉磨料市场趋势报告、技术动态创新及2027年市场预测
- leecode第二百九十二题(Nim游戏)
- C++类的构造函数及操作符()重载
- 支付宝小程序设置服务器维护,支付宝小程序配置
- Educational Codeforces Round 89 (Rated for Div. 2)
- 音声合成:音高、泛音、谐波、基频 到底是什么概念?
- 怎么使excel表只显示一部分分页内容
- 数学分析公式LaTex练习-洛必达法则
- python利用有道词典翻译_Python利用有道词典接口制作即时翻译的工具
- 知乎上40个有趣回复,很精辟!
热门文章
- 基于 Mean-shift的稳健性可视跟踪研究
- ORG LegacyCell for Mac - MS-20/Polysix音频合成器
- 实用~AVAide MP4 Converter for mac - MP4转换器
- 实用的Safari浏览器扩展工具——浏览标签太多?来一键保存!
- 前端基础学习之Html标签
- nginx 增加stream_realip_module模块
- node -v 突然显示 killed 9 处理历程
- pythonreduce()函数、sorted()函数、reversed_cmp函数、类和对象
- 百万在线的美拍直播弹幕系统架构实现
- Centos6.7 64位安装配置kvm虚拟化