2010-09-01 32 views
4

有沒有使用JavaScript調整實際圖像大小的方法?我不是在討論修改DOM來讓瀏覽器調整圖像大小。我其實想調整圖像的像素數據然後顯示。Bicubic-ly使用Javascript調整圖像大小

基本上我的問題是:Firefox完全無法縮小具有微妙功能的圖像,因爲它只有最近鄰和雙線。其他瀏覽器 - 甚至IE - 都有Bicubic支持。在不久的將來會有talk,但這個談話已經持續了一年多。

我不介意下載完整大小的圖像,因爲我希望它們無論如何都下載。當用戶將鼠標懸停在圖像的小版本上時,大版本會立即出現在頁面的其他位置。如果我在服務器端調整大小,我必須下載兩個圖像副本,這會導致更多的流量。如果沒有其他的解決方法,那麼這就是我必須要做的......我只是不想。

+1

所以你只需要這個Firefox或其他瀏覽器的畫布支持? – 2010-09-01 02:38:35

+0

該網站,因爲我有它看起來很好,但FF(甚至是最新版本)。而且這是FF沒有提供雙三次(或更好)調整大小功能的直接結果。 – colithium 2010-09-01 02:40:41

+0

我花了一段時間與谷歌,希望找到一些「可以轉換」的代碼,但我沒有任何運氣。這是一個嚴密守衛的祕密嗎? – 2010-09-01 13:34:32

回答

1

這是可能的。你在同一個域上得到一個圖像,寫到畫布上,然後從那裏處理像素數據(複雜,但我可以肯定),然後使用它或輸出爲png/gif/jpg ...但...我不認爲你會發現它會更好地保存微妙的功能那CSS。

+0

在所有其他瀏覽器中,調整大小的圖像看起來很完美,因爲這些瀏覽器使用比雙線性插值更好的東西 - 功能保留。我試圖解決這個問題只是FF的一大缺陷。 – colithium 2010-09-01 02:45:25

+2

有關上面提到的各種算法的實現,請參見:http://jsperf.com/pixel-interpolation/2 – Daniel 2011-10-26 20:31:56