为什么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 ...相关推荐

  1. Delphi 与 DirectX 之 DelphiX(12): TPictureCollectionItem.DrawAlpha

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

  2. Delphi 与 DirectX 之 DelphiX(25): TDIB.Blur();

    DelphiX 的组件面板上, 第二个就是 TDXDIB; TDXDIB.DIB 是 TDXDIB 的唯一属性(其他是 TComponent 固有的); TDXDIB.DIB 属性是一个 TDIB 对 ...

  3. Delphi 与 DirectX 之 DelphiX(33): TDIB.SmoothRotateWrap();

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

  4. Delphi 与 DirectX 之 DelphiX(6): 让 TDXImageList 和常规 VCL 交互使用

    本例测试了两个问题: 1.其他 VCL 加载的图片能否给 TDXImageList 使用; 2.TDXImageList 中的图片能否给其他 VCL 使用. 例子中先用 TPicture 加载了图片, ...

  5. Delphi 与 DirectX 之 DelphiX(89): TDIB.DrawAlphaMask();

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

  6. Delphi 与 DirectX 之 DelphiX(77): TDIB.Distort();

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

  7. Delphi 与 DirectX 之 DelphiX(52): TDIB.DoSaturation();

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

  8. Delphi 与 DirectX 之 DelphiX(35): TDIB.Saturation();

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

  9. Delphi 与 DirectX 之 DelphiX(95): TDIB.x

    //让 TDIB 的这些特效烦透了: 多.还重复.又不完善; 还没有测试或测试失败的方法: procedure DrawShadow(SrcDIB: TDIB; X, Y, Width, Height ...

  10. Delphi 与 DirectX 之 DelphiX(72): TDIB.SephiaEffect();

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

最新文章

  1. C 整数反转
  2. Ubuntu下运行Faster-Rcnn
  3. Caffe学习系列(9):运行caffe自带的两个简单例子
  4. Linux下判断字符串长度
  5. awk多分隔符功能及wc命令案列及企业级应用
  6. numpy数组基础语法
  7. Ajax Toolkit 控件学习系列(5) ——CalendarExtender使用
  8. php 取出多重数组中的一列_PHP提取多维数组指定一列的方法大全
  9. 互利网上数字金融典型场景: 网络支付
  10. 爬取京东评论、分词+词频统计、词云图展示
  11. 2021年中国微粉磨料市场趋势报告、技术动态创新及2027年市场预测
  12. leecode第二百九十二题(Nim游戏)
  13. C++类的构造函数及操作符()重载
  14. 支付宝小程序设置服务器维护,支付宝小程序配置
  15. Educational Codeforces Round 89 (Rated for Div. 2)
  16. 音声合成:音高、泛音、谐波、基频 到底是什么概念?
  17. 怎么使excel表只显示一部分分页内容
  18. 数学分析公式LaTex练习-洛必达法则
  19. python利用有道词典翻译_Python利用有道词典接口制作即时翻译的工具
  20. 知乎上40个有趣回复,很精辟!

热门文章

  1. 基于 Mean-shift的稳健性可视跟踪研究
  2. ORG LegacyCell for Mac - MS-20/Polysix音频合成器
  3. 实用~AVAide MP4 Converter for mac - MP4转换器
  4. 实用的Safari浏览器扩展工具——浏览标签太多?来一键保存!
  5. 前端基础学习之Html标签
  6. nginx 增加stream_realip_module模块
  7. node -v 突然显示 killed 9 处理历程
  8. pythonreduce()函数、sorted()函数、reversed_cmp函数、类和对象
  9. 百万在线的美拍直播弹幕系统架构实现
  10. Centos6.7 64位安装配置kvm虚拟化