设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: LucasLynn
打印 上一主题 下一主题

[模块/函数] 【原创 / 源码】无聊之作三——图表绘制

[复制链接]
21#
发表于 2005-10-13 20:41:00 | 只看该作者
看不懂 arrImage(1064 + CLng(BMPY) * 404 + BMPX) = 0
22#
 楼主| 发表于 2005-10-13 20:53:00 | 只看该作者
以下是引用ey1001在2005-10-13 12:41:00的发言:

看不懂 arrImage(1064 + CLng(BMPY) * 404 + BMPX) = 0

图形本身是256色图片,因此有一个256*4=1024字节的调色板,加上位图信息40字节,总共是1064字节,后面则是像素信息块,逐行排列,由于扫描行规定必须是4的整倍数,不足的要补上,本图是401*401像素,因此补全到404像素/扫描行。在256色系统调色板中,黑色的编号是0。

[此贴子已经被作者于2005-10-13 12:57:55编辑过]

23#
发表于 2005-10-13 21:11:00 | 只看该作者
恩,好象懂了1064.但CLng(BMPY) * 404 + BMPX其实还是没懂. 是不是说404是特定淤你的范例图片是401*401像素的呀.还好琢磨出了0是颜色
24#
发表于 2005-10-13 21:21:00 | 只看该作者
"后面则是像素信息块,逐行排列,由于扫描行规定必须是4的整倍数,不足的要补上"那我将401改为408就好象不行哦还有,怎样才知道你图片是401*401像素呀
25#
 楼主| 发表于 2005-10-13 21:25:00 | 只看该作者
以下是引用ey1001在2005-10-13 13:21:00的发言:

"后面则是像素信息块,逐行排列,由于扫描行规定必须是4的整倍数,不足的要补上"

那我将401改为408就好象不行哦

还有,怎样才知道你图片是401*401像素呀





我用Windows画笔画的,401*401的256色BMP。

其实我写的绝大多数和图形相关的程序,基本都是用的现成图片,加载到某个不可见的Image控件中等待处理。然后选择性处理其中一部分的数据而已。极少有用代码生成数据的。

这样的做法一来开发效率比较高,图片预处理我都用画笔,二来执行效率比较高,因为大量操作都是速度最快的内存块复制。

[此贴子已经被作者于2005-10-13 13:29:43编辑过]

26#
发表于 2005-10-13 21:32:00 | 只看该作者
哦,那如果要改为408应该画多少*多少像素的图呀
27#
 楼主| 发表于 2005-10-13 21:49:00 | 只看该作者
以下是引用ey1001在2005-10-13 13:32:00的发言:

哦,那如果要改为408应该画多少*多少像素的图呀

405/406/407/408 * 随便
28#
发表于 2005-10-13 22:08:00 | 只看该作者
哦,刚试了一下真的可以,但如果不是256色就不行哦
29#
 楼主| 发表于 2005-10-13 22:49:00 | 只看该作者
以下是引用ey1001在2005-10-13 14:08:00的发言:



哦,刚试了一下真的可以,但如果不是256色就不行哦

不是256色就要改1064。

具体的信息可用我前段时间发布的ImageDecoder 0.43来查看。
30#
发表于 2005-10-13 23:07:00 | 只看该作者
是1064*4+40=4296吗,你的ImageDecoder太深了看不懂哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 13:48 , Processed in 0.112332 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表