谁能给 me 讲一下矢量图,或是提供一些资料,网站,万分感激!!1(50分)

  • 主题发起人 主题发起人 阿周
  • 开始时间 开始时间

阿周

Unregistered / Unconfirmed
GUEST, unregistred user!
如何搞一个矢量图
自定义格式的
可以绘图的那种
 
我们翻一翻书报,就能看见各种各样的图形。如报纸的刊花、照片或数学书里面的函数图形等等。这些我们都笼统地称为“图形”。


现在就以照片为例,如果我们把照片扫描成为文件并存盘,一般我们可以这样描述这样的照片文件:分辨率多少乘多少,是多少色等等。这样的文件可以用PhotoShop、CorelPaint等软件来浏览和处理。通过这些软件,我们可以把图形的局部一直放大,到最后一定可以看见一个一个象马赛克一样的色块,这就是图形中的最小元素----像素点。到这里,我们再继续放大图象,将看见马赛克继续变大,直到一个像素占据了整个窗口,窗口就变成单一的颜色。这说明这种图形不能无限放大。


如果你把一组这样的文件存盘,你一定能发现有这样的规律:

1.图形面积越大,文件的字节数越多

2.文件的色彩越丰富,文件的字节数越多


这些特征是所有点阵图共有的。这种图形表达方式很象我们在初中数学课在坐标纸上逐点描绘函数图形,虽然我们可以逐点把图形描绘的很漂亮,但用放大镜看这个函数图形的局部时,就是一个个粗糙的点。编辑这样的图形的软件也叫点阵图形编辑器。如:PhotoShop、PhotoStyle、画笔等等。


点阵图的文件类型很多,如*.bmp、*.pcx、*.gif、*.jpg、*.tif、photoshop的*.pcd、kodak photo CD的*.psd、corel photo paint的*.cpt等。同样的图形,存盘成以上几种文件时文件的字节数会有一些差别,尤其是jpg格式,它的大小只有同样的bmp格式的1/20到1/35,这是因为它们的点矩阵经过了复杂的压缩算法的缘故。


还有一些图形(如工程图、白描图、卡通漫画等),它们主要由线条和色块组成,这些图形可以分解为单个的线条、文字、圆、矩形、多边形等单个的图形元素。再用一个代数式来表达每个被分解出来的元素。例如:一个圆我们可以表示成圆心在(x1,y1),半径为r的图形;一个矩形可以通过指定左上角的坐标(x1,y1)和右下角的坐标(x2,y2)的四边形来表示;线条可以用一个端点的坐标(x1,y1)和另一个端点的坐标(x2,y2)的连线来表示。当然我们还可以为每种元素再加上一些属性,如边框线的宽度、边框线是实线还是虚线、中间填充什么颜色等等。然后把这些元素的代数式和它们的属性作为文件存盘,就生成了所谓的矢量图(也叫向量图)。


这种图形也很多,如AutoCAD的*.dwg和dxf、corelDraw的*.cdr、windows标准图元文件*.wmf和增强型图元文件*.emf等等。当需要打开这种图形文件时,程序根据每个元素的代数式计算出这个元素的图形,并显示出来。就好象我们写出一个函数式,通过计算也能得出函数图形一样。编辑这样的图形的软件也叫矢量图形编辑器。如:AutoCAD、CorelDraw等。


这样的图形也有共同的规律:

1.你可以无限放大图形中的细节,不用担心会造成失真和色块。

2.一般的线条的图形和卡通图形,存成矢量图文件就比存成点阵图文件要小很多。

3.存盘后文件的大小与图形中元素的个数和每个元素的复杂程度成正比。而与图形面积和色彩的丰富程度无关。(元素的复杂程度指的是这个元素的结构复杂度,如五角星就比矩形复杂、一个任意曲线就比一个直线段复杂)

4.通过软件,矢量图可以轻松地转化为点阵图,而点阵图转化为矢量图就需要经过复杂而庞大的数据处理,而且生成的矢量图的质量绝对不能和原来的图形比拟。
 
看: 水晶控件
http://www.codeidea.com
 
huazai能不能告诉我
在delphi下如何绘制一个矢量图(很简单的那种)
将它保存成 自定义的格式
(非emf或wmf0
如何读取

非常感谢你的 对初学者的态度和耐心
 
精彩,
关注。
 
http://vip.6to23.com/zgj67/
 
to huazai
看了你的东西
我并没有解决我的问题
不过这个贴子拖的时间也不短了
是解决它的时候了
你能提供一点矢量图的源码吗?
有镜像的那种
我的邮箱是:
zhouzhouhaitao@sina.com.cn
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
641
import
I
后退
顶部