如何在一个FORM中快速贴图

daidai 2000-07-17 11:06:00
由于对速度要求比较高每隔50毫秒就要刷新一次,如果直接重画的话会出现闪烁,
我在VC中是用直接贴图的方法解决,请问在DEPHI里是不是一样?
...全文
192 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
IAmKylix 2000-07-18
  • 打赏
  • 举报
回复
JGTM2000说的很好!
BLUECAT 2000-07-17
  • 打赏
  • 举报
回复
先在内存中建立一个TBitmap或TImage,现在这个TBitmap中作图,然后用
CopyRect将结果搬到屏幕上,效果会好一些。
JGTM2000 2000-07-17
  • 打赏
  • 举报
回复
在Form.OnPaint中调用下面的函数更新就可以了(或者你的定时器或线程中,在线程中要注意同步问题)。
procedure TForm1.UpdateFormCanvas;
begin
with TBitmap.Create do
try
Width:=Self.Width; Height:=Self.Height;
with Canvas do // bitmap's DC
begin
// do your paint
end;
Windows.BitBlt(
Self.Canvas.Handle, // form's HDC
0,0,100,100,
Canvas.Handle, // bitmap's HDC
0,0, // target's top-left corner
SRCCOPY);
finally
Free; // bitmap resource
end;
end;
halfdream 2000-07-17
  • 打赏
  • 举报
回复
其实也可以同在VC中一样的。(当然,不是MFC,而是API 的函数)
先CreateCompatibleDC(Canvas.handle) //创建内存中的DC
再CreateCompatibleBitmap(Canvas.handle)
。。。。(画图)
BitBlt(...)

这样也许要快一些。
halfdream 2000-07-17
  • 打赏
  • 举报
回复
TBitmap 中有个Canvas 属性,
应该不必再多说什么了吧?
zzzling 2000-07-17
  • 打赏
  • 举报
回复
到底怎么在bitmap中绘图呢?
daidai 2000-07-17
  • 打赏
  • 举报
回复
能给个例子吗?
禅道项目管理软件6.2.stable版本于8月27日正式发布,该版本主要细节方面的调整。调整并优化测试流程,修复Bug,提高系统安全性。使用lazarus重构windows一键安装包的控制面板 。 修改记录 完成的功能: 1429 把ajaxform超时的时间拿出来作为参数。 481 增加是否需要打开审核流程的配置 1254 修改打包脚本,去掉内网服务器 984 命令行的IN_SHELL常量改用PHP_SAPI 1322 dao类增加一个方法,可以允许用户直接执行一个sql。例如:$bugs = $this->dao->query('select * from zt_bug')->fetchAll(); 1173 维护权限的时候应该显示当前维护的分组 1422 删除用不到的js控件 357 dao增加count(*)的功能。 例如:$count = $this->dao->select('*')-from(TABLE_BUG)->where('status')->eq('normal')->count(); 1235 项目新增需求时默认无需评审 1165 整理每个页面的标题和position 1207 发布关联bug的时候,不关联解决方案等于延期的bug 1371 项目的日志里面记录版本的创建时间和测试任务的提交,完成时间。 1436 快速跳转部分去掉圆角 808 任务增加暂停状态 1114 用例执行失败的时候,可以考虑分步骤提交bug。 1349 批量新增bug增加“同上”功能 1432 去掉发布和版本里面的“已关联bugs”的复数s。 1055 查看组织日志/TODO时,横向滚动时,锁定前两列的部门及员工姓名。 1337 bug创建的时候增加优先级字段 1182 计划关联需求时增加按照模块搜索功能 1428 任务详情页面显示需求的描述。 981 调整各个对象编辑页面的标题文本框的排版 1395 添加动态动作的文支持 315 设定编辑器tabindex 1439 调整转入任务时项目列表的算法 1217 关于录入工时更新任务的状态 1125 当需求,任务,bug的管理或者解决方案为重复的时候,增加搜索功能。 1369 重新梳理下邮件错误的提示。 1348 查看版本关联bug弹出的页面增加操作按钮 1193 项目转入bug作为任务的时候将延期的也放在列表 1431 调整各个新增页面的间距,将其缩小。 1262 在项目的下拉菜单增加所有项目的链接 1324 使用lazarus重构windows一键安装包的控制面板 1175 搜索,计划应该按照日期倒序排 1424 产品页面提需求时如果不需要评审给用户提示评审人会变成指派人 1238 提需求时所属计划列表倒序排序 1320 重置数据之后,应当提示用户结果 1169 需求的详情页显示项目 1210 集成环境首页的自动跳转去掉 1394 6.0版本更换主题后,指派列表调整对比度,使用户更容易识别内容 1438 检查确认编辑器贴图功能是否正常 855 各个列表页面增加不同状态颜色的显示 1124 重新实现dao里面的检查字符串长度的计算方式 1359 项目导入bug的时候,自动计算模块 1199 linux一键安装包的控制脚本初始化对xampp变量的设置 1434 调整产品各个操作的界面。 1347 一键安装包首页居对齐。 1430 模块的编辑,无法编辑名称。 483 各个列表页面默认不显示已经关闭的对象 1256 对表单提交过来的字段进行specialchars处理。 1022 添加需求,任务,bug,文档的时候判断是否重复。 1237 任务记录工时的时候在表zt_taskestimate记录account属性的值 905 文档可以修改其所属的文档库 1167 邮件配置参数过滤空格字符 1208 项目bug列表的优先级还是用图标来显示 1437 调整桌面提醒工具权限错误的提示 1358 计划列表页面描述里面P标签的margin去掉。 1433 调整项目各个操作的界面。 1343 从用例创建bug的时候,可以选择步骤。 1057 重新梳理默认的权限列表 1183 调整两个日期选择框同时存在情况下第二个的默认值 修复的BUG: 598 6.0测试任务查看用例结果版本信息为空 608 bug导入任务后更新任务(或bug)的状态时页面没有跳转 610 维护项目文档库的模块时把产品的模块也复制过来了 611 燃尽图的delta功能失效 622 用例批量创建需求下拉菜单无内容 618 权限管理页面去掉Bug自定义 下载地址 一、禅道项目管理软件源码下载 下载站点1:http://sourceforge.net/projects/zentao/files/6.2/ZenTaoPMS.6.2.stable.zip/download 下载站点2:http://dl.zentao.net/6.2/ZenTaoPMS.6.2.stable.zip 二、集成运行环境下载:切勿下载下面的软件进行升级,仅适用于新安装 Windows一键安装包(适用于windows系列) 下载站点1:http://sourceforge.net/projects/zentao/files/6.2/ZenTaoPMS.6.2.stable.exe/download 下载站点2:http://dl.zentao.net/6.2/ZenTaoPMS.6.2.stable.exe Linux一键安装包 32位: 下载站点1:http://sourceforge.net/projects/zentao/files/6.2/ZenTaoPMS.6.2.stable.linux-32.7z/download 下载站点2:http://dl.zentao.net/6.2/ZenTaoPMS.6.2.stable.linux-32.7z 64位: 下载站点1:http://sourceforge.net/projects/zentao/files/6.2/ZenTaoPMS.6.2.stable.linux-64.7z/download 下载站点2:http://dl.zentao.net/6.2/ZenTaoPMS.6.2.stable.linux-64.7z 安装和升级文档 安装文档:http://www.zentao.net/book/zentaopmshelp/40.html 升级文档:http://www.zentao.net/book/zentaopmshelp/41.html

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧