Rumah >pembangunan bahagian belakang >tutorial php >Kemahiran pemprosesan imej PHP didedahkan
Kemahiran pemprosesan imej PHP didedahkan
Dalam aplikasi Internet moden, pemprosesan imej adalah salah satu keperluan yang sangat biasa. Sama ada ia memampatkan, memangkas, menambah tera air pada imej, menjana lakaran kecil, dsb., anda perlu menggunakan kemahiran pemprosesan imej. Sebagai bahasa pengaturcaraan bahagian pelayan yang sangat baik, PHP menyediakan fungsi pemprosesan imej yang kaya dan perpustakaan sambungan, yang memberikan sokongan yang baik untuk kami mencapai keperluan ini. Artikel ini akan mendedahkan beberapa teknik pemprosesan imej PHP dan memberikan contoh kod khusus.
Mampatan imej ialah cara penting untuk mengoptimumkan kelajuan memuatkan laman web dan mengurangkan penggunaan lebar jalur. Anda boleh menggunakan perpustakaan GD dalam PHP untuk pemampatan imej. Berikut ialah kod sampel untuk pemampatan imej menggunakan perpustakaan GD:
function compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } imagejpeg($image, $destination, $quality); return $destination; } $source = 'original.jpg'; $destination = 'compressed.jpg'; $quality = 50; compressImage($source, $destination, $quality);
Dalam aplikasi praktikal, imej selalunya perlu dipangkas mengikut keperluan untuk menyesuaikan diri dengan keperluan saiz yang berbeza. Berikut ialah contoh kod untuk pemangkasan imej menggunakan perpustakaan GD:
function cropImage($source, $destination, $x, $y, $width, $height) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } $crop = imagecrop($image, ['x' => $x, 'y' => $y, 'width' => $width, 'height' => $height]); imagejpeg($crop, $destination); return $destination; } $source = 'original.jpg'; $destination = 'cropped.jpg'; $x = 0; $y = 0; $width = 200; $height = 200; cropImage($source, $destination, $x, $y, $width, $height);
Tanda air ialah cara untuk melindungi hak cipta imej dan memaparkan maklumat imej. Anda boleh menambah tera air pada imej dengan mudah menggunakan PHP. Berikut ialah kod sampel yang menggunakan perpustakaan GD untuk menambah tera air pada imej:
function addWatermark($source, $watermark, $position) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } $watermarkImg = imagecreatefrompng($watermark); $watermarkWidth = imagesx($watermarkImg); $watermarkHeight = imagesy($watermarkImg); switch ($position) { case 'top-left': $x = 0; $y = 0; break; case 'top-right': $x = imagesx($image) - $watermarkWidth; $y = 0; break; case 'bottom-left': $x = 0; $y = imagesy($image) - $watermarkHeight; break; case 'bottom-right': $x = imagesx($image) - $watermarkWidth; $y = imagesy($image) - $watermarkHeight; break; default: $x = 0; $y = 0; break; } imagecopy($image, $watermarkImg, $x, $y, 0, 0, $watermarkWidth, $watermarkHeight); imagejpeg($image, $source); return $source; } $source = 'original.jpg'; $watermark = 'watermark.png'; $position = 'bottom-right'; addWatermark($source, $watermark, $position);
Apabila memaparkan imej, untuk menyesuaikan diri dengan keperluan paparan yang berbeza, selalunya perlu menjana lakaran kecil. Berikut ialah contoh kod yang menggunakan perpustakaan GD untuk menjana lakaran kecil:
function generateThumbnail($source, $destination, $width, $height) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } $thumb = imagecreatetruecolor($width, $height); imagecopyresampled($thumb, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image)); imagejpeg($thumb, $destination); return $destination; } $source = 'original.jpg'; $destination = 'thumbnail.jpg'; $width = 200; $height = 200; generateThumbnail($source, $destination, $width, $height);
Di atas ialah beberapa teknik pemprosesan imej PHP dan contoh kod yang sepadan. Dengan menggunakan pustaka GD dan fungsi pemprosesan imej PHP, kami boleh memampatkan, memangkas, menambah tera air dan menjana lakaran kecil pada imej dengan mudah. Saya harap artikel ini membantu anda apabila bekerja dengan imej dalam pembangunan.
Atas ialah kandungan terperinci Kemahiran pemprosesan imej PHP didedahkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!