picturebox中画线在不同的颜色位遇到的效率问题.马上结贴!

aner 2005-08-05 03:13:28
我要在宽为3200*3200pixel的picturebox上画线如下代码:
picture1.sclemode=3
picture1.width=3200
picture1.height=3200
picture1.autoredraw=true

for i=0 to 3200 step 8
picture1.line (i,0)-(i,3200),vbwhtie
next
for j=0 to 3200 step 8
picture1.line (0,j)-(3200,j),vbwhite
next

(电脑配置:p42.4 256内存,64m显卡),当设为1024*768的32位颜色时所用时间为:450ms
当设为800*600的16位颜色时所用时间为:250,当设为8位颜色时所用时间:120ms

改为用api函数lineto也会到同样的问题

请问高手像这种情况怎样解决? 解决后马上结贴.
...全文
130 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊孩子开学喽 2005-08-14
  • 打赏
  • 举报
回复
这样改还可以更快些:
with picture1
.sclemode=3
.width=3200
.height=3200
.autoredraw=true
.forecolor=vbwhite

for i=0 to 3200 step 8
.line (i,0)-(i,3200)
.line (0,i)-(3200,i)
next
end with
楼主再试试
熊孩子开学喽 2005-08-14
  • 打赏
  • 举报
回复
改成这样:
with picture1
.sclemode=3
.width=3200
.height=3200
.autoredraw=true
.forecolor=vbwhite

for i=0 to 3200 step 8
.line (i,0)-(i,3200)
next
for j=0 to 3200 step 8
.line (0,j)-(3200,j)
next
end with

这样会快一些的
aner 2005-08-14
  • 打赏
  • 举报
回复
用line控件来做网格,但是在picturebox上描点的时候屏幕很闪。
upsuper 2005-08-05
  • 打赏
  • 举报
回复
这不是废话嘛~系统处理不用时间啊?可显示的色数越多,他需要处理的时间当然越长~
lsftest 2005-08-05
  • 打赏
  • 举报
回复
试试用line控件

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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