2011-10-11 37 views
1

我試圖用RaphaelJS在紙張的寬度的50%處放置一個圓圈,這可能沒有先做數學(.5 *像素寬度)?我想簡單地將一個元素放置在其容器寬度的50%處,這對於當前的Raphael API來說甚至是可能的嗎?RaphaelJS - 矢量還是不?

拉斐爾聲稱能夠繪製矢量圖形,但它似乎API中的所有內容都是基於像素的。你如何使用像素繪製矢量圖像?這似乎是100%矛盾。

同樣,據我瞭解矢量藝術,它保留相同的尺寸,無論實際大小。這不是使用矢量圖形的主要原因之一,不管它是用於屏幕,打印還是其他,它將始終是相同的比例?因此,我進一步 困惑的需要像ScaleRaphael;看起來像這樣的功能是創建矢量圖形的重要組成部分。但是,也許我只是不明白矢量圖形?

它看起來不像是用絕對像素尺寸創建的圖像,並且無法在本地調整大小以適合作爲矢量圖像。那,或者我在這裏錯過了一大塊API。

在此先感謝您的幫助。我試圖將這兩次發佈到RaphaelJS Google Group,但我想他們會因爲任何原因審查它,因爲我一直在等待它自上週以來出現,並且仍然沒有我的帖子的標誌(儘管其他新帖子正在顯示)。

+1

是的,拉斐爾繪製矢量圖形。它使用SVG或VML呈現,它們都是矢量語言。 – Spudley

+0

只是憑藉使用SVG/VML並不意味着它是一個真正的矢量圖形... – ken

+1

而拉斐爾API確實包含'.scale()'方法。 – Spudley

回答

3

使用像素值來定義形狀位置/尺寸不會使其成爲非矢量形狀。以Adobe Illustrator爲例 - 這是一個矢量產品,但您仍然可以看到每個對象的屬性顯示的位置和尺寸都是像素。

矢量圖形的基本解釋將是這樣的,以一個矩形作爲一個例子:

載體矩形將具有多個如X,Y, width和height屬性的。這些屬性可以用像素指定。 與矢量(與光柵相反)的區別在於,這些像素屬性僅用於確定如何繪製形狀。因此,當 呈現(刷新)顯示時,「系統」可以使用相同的屬性重新繪製形狀 ,而不會影響調整大小的質量。

光柵圖像但是將舉行更多的信息(即用於形成形狀/矩形的每個像素的 精確值)

如果單詞「像素」讓你覺得很矛盾,只是記住計算機屏幕上的所有內容都以像素爲單位呈現。即使矢量圖形必須轉換爲「光柵」作爲圖形管道中的某個點。

如果你擔心必須使用計算(0.5 *寬度),那麼只要記住有些事情必須做這個計算,並且我個人會很樂意自己處理這個簡單的步驟。

畢竟,您應該根據「紙張」元素的大小計算像素的大小和位置,並在Raphael中輸入這些值以創建形狀。