Pengenalan Kes
Dalam PHP, anda ingin menulis beberapa kod untuk menghantar borang Any imej yang dimuat naik diubah secara automatik kepada 147x147px. Anda ingin mengecilkan saiz fail dengan menskalakan imej.
Pelaksanaan Kod
Untuk menyelesaikan tugasan ini, anda boleh menggunakan fungsi ImageMagick atau GD PHP untuk memproses imej.
Menggunakan GD, anda boleh mencapai fungsi berikut:
function resize_image($file, $w, $h, $crop=FALSE) { list($width, $height) = getimagesize($file); $r = $width / $height; if ($crop) { if ($width > $height) { $width = ceil($width-($width*abs($r-$w/$h))); } else { $height = ceil($height-($height*abs($r-$w/$h))); } $newwidth = $w; $newheight = $h; } else { if ($w/$h > $r) { $newwidth = $h*$r; $newheight = $h; } else { $newheight = $w/$r; $newwidth = $w; } } $src = imagecreatefromjpeg($file); $dst = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); return $dst; }
Anda boleh memanggil fungsi ini seperti berikut:
$img = resize_image(‘/path/to/some/image.jpg’, 200, 200);
Sebagai peraturan biasa, pensampelan semula imej oleh GD Ia mengurangkan saiz fail dengan ketara, terutamanya apabila pensampelan semula imej kamera digital mentah.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah saiz imej yang dimuat naik kepada 147x147px dalam PHP Menggunakan GD?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!