3 回答

TA貢獻1757條經驗 獲得超7個贊
為了適當的下采樣,以減少混疊的方式,圖像必須通過低通濾波(即模糊?。┻M行頻帶限制。
該函數imagecopyresampled
似乎不會執行這種模糊(而是進行插值,僅適用于上采樣)。您可以使用函數 實現模糊效果imageconvolution
,所有系數都等于1
,并應用兩遍或三遍。只有這樣你才能使用imagecopyresampled
.
你會認為我瘋了,因為據說圖像太模糊了,但我敢打賭,你的客戶所說的模糊實際上是別名。

TA貢獻1862條經驗 獲得超7個贊
這主要是由于視網膜顯示器的高分辨率。
CSS 像素是瀏覽器使用的抽象單位。CSS 像素是獨立于設備的像素。它們將自己重新調整為呈現它們的屏幕的像素密度。
如果我們有以下代碼:
<div style=”width:250px; height:400px”></div>
上面的組件在標準顯示器中看起來是 250 像素 x 400 像素,而在 Retina 顯示器中是 500 像素 x 800 像素。
在這種情況下,您有兩種選擇 1. 您始終可以使用 2x 大小的圖像并使用 css 樣式或設置 img 寬度和高度顯示為 50% 2.更好的方法:假設您想顯示 250px x 400px 的圖像,有一個在服務器中大小為 500 像素 x 800 像素的備用圖像,并在網頁提供給 Retina 顯示器時呈現它們。
例如第二個選項的代碼
/* low resolution display */
.image {
background-image: url(/pathTo/lowResImg.png);
background-size: 250px 400px;
}
/* for retina display */
@media only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
.image {
background: url(/pathTo/highResImage.png) no-repeat;
background-size: 250px 400px;
}
}
希望這可以幫助。
- 3 回答
- 0 關注
- 205 瀏覽
添加回答
舉報