Mencipta Imej Kecil Berskala dalam PHP
Coretan kod yang disediakan berjaya memangkas imej dalam dimensi tertentu. Walau bagaimanapun, untuk imej yang lebih besar, ia mungkin tidak menghasilkan hasil yang diingini. Untuk menangani isu ini, anda perlu mengubah saiz imej terlebih dahulu, memastikan bahawa dimensi yang lebih kecil bagi imej yang diubah saiz sepadan dengan dimensi lakaran kecil yang sepadan.
Untuk mencipta lakaran kecil berkadar, ikut langkah berikut:
Berikut ialah contoh kod yang dikemas kini yang melaksanakan langkah-langkah berikut:
<code class="php">$image = imagecreatefromjpeg($_GET['src']); $filename = 'images/cropped_whatever.jpg'; $thumb_width = 200; $thumb_height = 150; $width = imagesx($image); $height = imagesy($image); $original_aspect = $width / $height; $thumb_aspect = $thumb_width / $thumb_height; if ( $original_aspect >= $thumb_aspect ) { // If image is wider than thumbnail (in aspect ratio sense) $new_height = $thumb_height; $new_width = $width / ($height / $thumb_height); } else { // If the thumbnail is wider than the image $new_width = $thumb_width; $new_height = $height / ($width / $thumb_width); } $thumb = imagecreatetruecolor( $thumb_width, $thumb_height ); // Resize and crop imagecopyresampled($thumb, $image, 0 - ($new_width - $thumb_width) / 2, // Center the image horizontally 0 - ($new_height - $thumb_height) / 2, // Center the image vertically 0, 0, $new_width, $new_height, $width, $height); imagejpeg($thumb, $filename, 80);</code>
Dengan memasukkan saiz semula imej ke dalam proses penjanaan lakaran kecil, adalah mungkin untuk mencipta lakaran kecil yang berkadar baik yang bebas daripada saiz imej asal.
Atas ialah kandungan terperinci Bagaimana untuk Membuat Imej Kecil Berkadar dalam PHP untuk Imej Besar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!