RaphaelJS - 矢量与否?

时间:2011-10-11 14:57:32

标签: javascript raphael

我正在尝试使用RaphaelJS在纸张宽度的50%处放置一个圆圈,这是否可以不先进行数学运算(.5 *像素宽度)?我想简单地将一个元素放置在其容器宽度的50%处,这是否可以使用当前的Raphael API?

Raphael声称能够绘制矢量图形,但似乎API中的所有内容都是基于像素的。如何使用像素绘制矢量图像?这似乎是100%矛盾。

同样,正如我所理解的矢量艺术,无论实际尺寸如何,它都保留相同的尺寸。这不是使用矢量图形的主要原因之一,无论是用于屏幕,打印还是其他任何内容,它都将是相同的比例?因此,我更进一步 因需要ScaleRaphael之类的东西而感到困惑;看起来这样的功能是创建矢量图形的一部分。但是,也许我只是不了解矢量图形?

它似乎不像是使用绝对像素尺寸创建的图像,并且无法在本地调整大小,因此可以作为矢量图像。那,或者我在这里错过了很大一部分API。

提前感谢您的帮助。我已经尝试将这两次发布到RaphaelJS谷歌集团,但我猜他们无论出于何种原因都在审查它,因为我一直在等待它出现在上周以来仍然没有我的帖子的迹象(尽管其他新帖子正在出现。)

1 个答案:

答案 0 :(得分:3)

使用像素值定义形状位置/尺寸不会使其成为非矢量形状。以Adobe Illustrator为例 - 这是一个矢量产品,但您仍然可以看到每个对象的属性显示位置和尺寸是像素。

矢量图形的基本解释是这样的,以矩形为例:

  

矢量矩形将具有许多属性,例如x,y,   宽度和高度。可以以像素为单位指定这些属性。该   与矢量(与光栅相对)的差异在于这些像素   属性仅用于确定如何绘制形状。所以当   显示器被渲染(刷新)“系统”可以重绘形状   使用相同的属性而不影响调整大小的质量。

     

然而,光栅图像将保存更多信息(即   用于形成形状/矩形的每个像素的精确值

如果“像素”这个词让你认为它是矛盾的,那么记住计算机屏幕上的所有内容都会以像素为单位进行渲染。甚至矢量图形也必须转换为“光栅”作为图形管道中的某些点。

如果您担心必须使用计算(0.5 *宽度),那么请记住某些事情必须进行计算,而且我个人很乐意自己处理这个简单的步骤。

毕竟,您应该根据“paper”元素的大小计算大小和位置(以像素为单位),并在Raphael中提供这些值以创建形状。