Mencipta Lakaran Kecil daripada Imej Yang Dimuat Naik
Menjana lakaran kenit untuk imej yang dimuat naik memastikan ia tidak kelihatan herot sambil mengekalkan kualiti imej asal. Dalam soalan ini, pengguna mendapatkan panduan tentang mencipta dan menyimpan kedua-dua versi asal dan lakaran kenit imej yang dimuat naik.
Persediaan pangkalan data pengguna termasuk dua jadual, 'user_pic' dan 'user_pic_small', untuk menyimpan asal dan lakaran kecil versi masing-masing. Kod PHP yang disediakan mengendalikan muat naik dan storan imej tetapi tidak mempunyai logik untuk penciptaan lakaran kecil.
Penyelesaian menggunakan Perpustakaan GD PHP:
Penyelesaian melibatkan penggunaan perpustakaan GD PHP untuk memanipulasi dan menjana lakaran kecil. Fungsi ditakrifkan untuk mengambil imej yang dimuat naik, saiz yang ditetapkan dan kualiti sebagai input. Ia mengira dimensi yang sesuai dan mencipta lakaran kecil dengan ruang hitam bersaiz berkadaran untuk memastikan konsistensi.
Contoh Penggunaan:
function makeThumbnails($updir, $img, $id) { // Define thumbnail size $thumbnail_width = 134; $thumbnail_height = 189; // Calculate dimensions // ... // Check image type and process if ($arr_image_details[2] == IMAGETYPE_GIF) { $imgt = "ImageGIF"; } elseif ($arr_image_details[2] == IMAGETYPE_JPEG) { $imgt = "ImageJPEG"; } elseif ($arr_image_details[2] == IMAGETYPE_PNG) { $imgt = "ImagePNG"; } if ($imgt) { // Image manipulation // ... // Output the thumbnail $imgt($new_image, "$updir" . $id . '_' . "$thumb_beforeword" . "$img"); } }
Penyelesaian menggunakan Imagic:
Penyelesaian ini memanfaatkan perpustakaan Imagick, yang menyediakan keupayaan pemprosesan imej yang lebih maju. Fungsi menjana lakaran kecil dengan dimensi dan kualiti yang ditentukan, menggunakan kaedah terbina dalam kelas Imagick.
Contoh Penggunaan:
/** * Generate Thumbnail using Imagick class */ function generateThumbnail($img, $width, $height, $quality = 90) { if (is_file($img)) { $imagick = new Imagick(realpath($img)); // Image processing // ... // Output the thumbnail file_put_contents($filename_no_ext . '_thumb' . '.jpg', $imagick); return true; } else { throw new Exception("No valid image provided with {$img}."); } }
Kesimpulan:
Kedua-dua penyelesaian menawarkan cara yang cekap untuk mencipta lakaran kecil daripada imej yang dimuat naik sambil mengekalkan kualitinya. Pendekatan yang dipilih bergantung pada keperluan khusus dan sumber aplikasi yang tersedia.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Imej Kecil dengan Cekap daripada Imej yang Dimuat Naik dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!