我試圖用RaphaelJS動畫文本,但我遇到了動盪的動畫(「顫抖」?)。我已經找過關於這方面的其他問題,但我只能找到迄今爲止的jQuery特定或非SVG主題。請讓我知道,如果我忽略了類似的問題!RaphaelJS的動作文本動畫
本質上,我試圖在rect元素中直觀地包裝文本元素,並通過動畫同時轉換它們。我知道'g'元素,但我不想使用它,因爲舊版本的Internet Explorer不支持它。相反,我使用單獨的動畫聖拉斐爾爲文本和矩形:
var raphRect = paper.rect(
(paperWidth/2)-rectWidth/2
,paperHeight-rectHeight
,rectWidth
,rectHeight
,rectHeight/2
)
...
,raphText1 = paper.text(
paperWidth/2
,paperHeight-(2*fontSize)
,'this is jumpy text?'
)
...
raphRect.animate({y : -rectHeight}, risingTime, 'linear');
raphText1.animate({y : -2*fontSize}, risingTime, 'linear');
我假定的顫振是通過在文本元素的每個動畫幀的舍入的像素引起的。有什麼方法可以緩解或防止這種顫抖? (減少動畫時間不是一種選擇...它甚至不會看起來像它的幫助。)
(我有我想要做的一個例子here。我已經包括兩行文字和大膽的筆畫,以強調顫音)
有ISN」你可以做很多事情回顧一下,瀏覽器只是不做動畫非常流暢,你可以看看requestAnimationFrame看看是否有幫助,但我懷疑它。 – Neil
特別是文字的子像素渲染相當差。您是否嘗試過使用打印而不是文本?我發現,真正的道路抗鋸齒*更令人滿意。 –
通常在純SVG中,您將文本渲染屬性設置爲geometricPrecision。例如,這會讓Firefox更流暢。不幸的是RaphaelJS似乎不支持設置文本渲染。 –