简单的 "双缓冲" 绘图的例子(研究一下)
2016-03-31 20:56
337 查看
所谓双缓冲就是先画到内存画布(如: TBitmap), 然后再转帖到目的地.
譬如下面小程序:
改为双缓冲绘图可以是:
譬如下面小程序:
procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Interval := 100; Color := clWhite; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Canvas.Pen.Color := Random($FFFFFF); Canvas.MoveTo(Random(ClientWidth), Random(ClientHeight)); Canvas.LineTo(Random(ClientWidth), Random(ClientHeight)); end;
改为双缓冲绘图可以是:
var bit: TBitmap; procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Interval := 100; bit := TBitmap.Create; bit.Width := ClientWidth; bit.Height := ClientHeight; end; procedure TForm1.Timer1Timer(Sender: TObject); begin bit.Canvas.Pen.Color := Random($FFFFFF); bit.Canvas.MoveTo(Random(bit.Width), Random(bit.Height)); bit.Canvas.LineTo(Random(bit.Width), Random(bit.Height)); Self.Canvas.Draw(0, 0, bit); end; procedure TForm1.FormDestroy(Sender: TObject); begin bit.Free; end; http://www.cnblogs.com/del/archive/2010/04/19/1715779.html[/code]
相关文章推荐
- C#基本功------委托和事件(二)--拉姆达表达式
- iOS 界面上绘制不同字体 颜色 大小的字符串
- KeepAlive详解
- 禁用页面缓存的几种方法
- Android 动画之ScaleAnimation应用详解(缩放动画效果 )(转载)
- WinDbg学习笔记(转)
- java集合Map,HashMap,TreeMap知识点总结
- 配置Apache支持PHP(附Apache和PHP下载链接)
- Java高级部分之线程重点总结(上)
- Android Studio 修改包名报Error type 3 {package}does not exist
- 判断能否构成三角形 并输出三角形的周长和面积
- DeepLearning常用库简要介绍与对比
- 苹果应用 Windows 申请 普通证书 和Push 证书 Hbuilder 个推
- [leetcode] 38. Count and Say
- Android开发颜色代码大全
- Ural 1057 Amount of Degrees(数位DP)
- NYOJ 106 背包问题
- bounds和frame的区别
- (OK) CentOS 7—adb—android-sdk_r24.3.3-linux.tgz
- 欢迎使用CSDN-markdown编辑器