0
我發現使用Imagick的解決方案here和here,但我真的不想去Imagick擴展應有的安全問題。如何通過GD調整大小來設置DPI/PPI?
目前,我正在做大小調整如下:
list($width, $height) = getimagesize($file_path);
$src = imagecreatefrompng($file);
$dst = imagecreatetruecolor($newwidth, $newheight);
//prepare the transparency
imagealphablending($dst, false);
imagesavealpha($dst , true);
$transparent = imagecolorallocatealpha($dst, 255, 255, 255, 127);
imagefilledrectangle($dst, 0, 0, $newwidth, $newheight, $transparent);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
但它是設置總是72 DPI(甚至覆蓋原文件DPI)。
有沒有辦法使用GD設置DPI?
我想要2個圖像:一個用於普通顯示器,另一個用於高密度顯示器(DPI的兩倍),如視網膜和4k顯示器。我正在調整大小,原始圖像比我需要的分辨率大得多。 – Lucas
然後你根本不需要改變DPI。只需創建縮小的圖像並使用'img srcset'讓瀏覽器決定顯示哪個圖像。 – Matey
感謝您的幫助!這正是我所期待的。 – Lucas