2011-02-23 65 views
0

我正在尋找一種方法來動態創建一個羽化邊緣的橢圓(並能夠控制羽化的程度)。理想情況下,這可以通過Javascript來實現,因爲預期的用途是在可以脫機使用的應用程序中,但爲了簡單起見,同時我會對PHP解決方案感到滿意。如何動態生成帶有alpha梯度的圖像?

我曾嘗試使用GD的解決方案,但是我發現它在處理alpha時非常有限。主要問題是使用填充的橢圓和分層可能會抵消透明效果,並且僅使用逐漸縮小的橢圓繪製邊框會導致橢圓未完美對齊的問題(請參見下圖)。

Example

是否有解決方案,我可以使用,消除了這些問題,並沒有涉及太複雜?我意識到我可以逐個像素地創建一個圖像,但對於什麼應該是相對容易的任務來說,這似乎是一個非常複雜的方法。

+0

你可以使用ImageMagick的? – 2011-02-23 01:10:24

+0

是的,我應該至少可以安裝它,儘管在格式之間轉換之前不是我已經查看過的東西。你能否指出我需要的功能的方向? – Jim 2011-02-23 01:17:13

+0

您可能可以使用 https://developer.mozilla.org/en/canvas_tutorial – Jeff 2011-02-23 02:33:11

回答

2

下面是使用看起來像它可能會開始你在正確的道路上標籤的例子:

http://nixtu.blogspot.com/2010/07/html5-canvas-gradients-radial-gradient.html

而且這裏有一個小提琴,顯示什麼,我想你可能是在尋找:

http://jsfiddle.net/hgZt7/2/

+0

完美地解決了我的問題 - 我沒有意識到在畫布中支持徑向漸變 - 事實上我讀過,只支持線性。 – Jim 2011-02-23 13:17:27

+0

很高興能幫到你! – Jeff 2011-02-24 01:17:03