2009-09-03 141 views
17

我在各種網站上使用了一些半透明PNG作爲背景圖像。這些通常像1x1圖像與30%的不透明白色層。在移動Safari中無法正確顯示Alpha透明PNG

我注意到移動Safari不能正確顯示它們,給它們一個更暗/灰色的色調。

這是一個MobileSafari錯誤(我無法想象如此),還是我需要做一些不同的東西,無論是我的網頁還是PNG?

(這裏是我如何創建PNG:在Photoshop中,創建一個1x1透明畫布,在第1層繪製一個白色矩形,設置不透明度爲30%,另存爲24位PNG透明度。)

+0

我注意到,這是不是100%一致。在一個負載上,我已經看到它完美呈現,下降到80%的線(在80行之間有一個突破點,在那之下是深灰色)。刷新時,問題出現在整頁上(隨後的重新加載也顯示它已損壞)。 我在想這可能是特定於我的iPhone或它的軟件的錯誤。我會嘗試重新啓動,如果失敗了,重新安裝所有軟件(並且失敗,獲得新手機:))。 – worksology

+0

鏈接已死:/ – Will

+1

由於太局部化而關閉?熱鬧。這通常適用,並且超過3年後,仍與iOS 6 Mobile Safari保持100%相關。 –

回答

72

我試圖做一些使用具有部分透明度的1像素PNG的簡單DIV背景爲背景圖片上方的某些文本製作半透明框。在各種瀏覽器中,它看起來很棒,直到我嘗試了iPhone。它是在做部分透明度,但是你用這種奇怪的灰色陰影來代替預期的結果。

然後,我試着鏈接紅色&藍色測試。當我第一次看到他們時,他們都看起來很好,然後刷新讓他們變得灰暗!我用一個新的瀏覽器窗口再次嘗試,然後又回到正確的位置,呃你提到的不一致再次發生。那麼我只是動態地旋轉iPhone,當它從風景模式轉換到肖像模式時,顏色會轉變爲灰色版本!

所有的W3C PNG部分透明度測試在iPhone上看起來都很完美。但是,它沒有通過伽瑪測試。在排除伽瑪作爲一個可能的原因後,我將這個問題解決了幾個小時,但沒有成功。我甚至做了我自己的漸變,從0到100%一直透明,以確保它不是我創建圖像的過程。果然,這很好,所以我的過程很好。

然後我有這種天才的筆觸,如果文件大於1像素怎麼辦?所以我做了2個像素寬,1個像素高,20%透明(80%的alpha)。巴姆..它工作!我嘗試了1x1,1x2,2x1,2x2,8x8的各種組合。除單像素版本之外,它們都能正常工作。

我回去檢查上面的鏈接測試,看到他們使用1像素圖像的所有陰影。啊哈!

而你有它,移動Safari需要至少2個像素來處理半透明PNG文件

0

在兩臺設備(我的Mac和我的iPod Touch)上查看網站後,我認爲您在這裏看到的是屏幕可以產生的顏色的差異,而不是兩個渲染引擎中的錯誤。有很多因素可能會導致這種差異,例如,便攜式顯示器的對比度可能不盡如人意,以節省電量,降低設備的價格等。

3

使用除1x1以外的任何尺寸的圖像。

(對於那些誰擁有的東西做縮寫響應)

相關問題