Delphi - 绘制文本,使其在重新绘制其下方的图像后不会消失

标签 delphi canvas delphi-7 paint

我应该如何在 Canvas 上绘制文本,以便文本在重新绘制/更新/刷新后不会消失,而无需一次又一次地重新绘制?就像是画成图像一样,而不是临时画的。

最佳答案

例如,如果您正在谈论 TPaintBox 控件或类似的控件,则没有可在其上绘画的持久 Canvas 。系统根本不是这样设计的,VCL 控件反射(reflect)了底层的 Windows 框架。

正常的做法如下:

  1. 首先绘制屏幕外位图。
  2. 当系统要求重新绘制时,将屏幕外位图绘制到屏幕 Canvas 上。

有多种原因可能导致您采用这种方法。通常,性能是一个因素。绘制图像可能会很昂贵,缓存图像会有所帮助。有时,绘制所需的信息可能是暂时的,再次缓存输出可能是一个解决方案。

关于Delphi - 绘制文本,使其在重新绘制其下方的图像后不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8553912/

相关文章:

javascript - 在 Canvas 矩形(按钮)内居中文本

java - Java中限制窗口大小

multithreading - 如果线程的主进程被强制结束,线程是否会自动终止?

delphi - 构建多线程 TCP/IP 服务器

delphi - 表和查找字段性能问题

delphi - 编译器如何处理过程/函数内部的过程/函数

delphi - 如何在 Delphi 中使用大文件?

android - XE5 Android 位图.canvas

javascript - 是否可以更改 Canvas 的位置而不是重新绘制图片?

image - 图像相交