Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk pemprosesan dan manipulasi imej

Cara menggunakan PHP untuk pemprosesan dan manipulasi imej

WBOY
WBOYasal
2023-08-04 08:13:581235semak imbas

Cara menggunakan PHP untuk pemprosesan dan manipulasi imej

Ikhtisar:
Dalam aplikasi Internet moden, pemprosesan dan manipulasi imej adalah teknologi yang sangat penting. Sebagai bahasa pengaturcaraan bahagian belakang yang popular, PHP menyediakan pelbagai fungsi pemprosesan dan operasi imej, membolehkan kami melakukan pelbagai operasi pada imej dengan mudah, seperti penskalaan, pemangkasan, berputar, melaraskan kecerahan, kontras dan warna, dsb. Artikel ini akan memperkenalkan cara menggunakan PHP untuk pemprosesan dan manipulasi imej, dan menunjukkannya secara terperinci melalui contoh kod.

1. Pasang dan konfigurasikan sambungan GD:
Untuk menggunakan PHP untuk pemprosesan imej, kami perlu memasang dan mendayakan sambungan GD terlebih dahulu. Sambungan GD ialah perpustakaan untuk pemprosesan imej Ia menyediakan beberapa fungsi pemprosesan imej Arahan pemasangan dan konfigurasi yang sepadan juga disediakan dalam dokumentasi rasmi PHP.

  1. Dalam sistem pengendalian Ubuntu, anda boleh memasang sambungan GD melalui arahan berikut:
    sudo apt-get install php7.4-gd
  2. Selepas pemasangan selesai, anda perlu memulakan semula pelayan web untuk membuat konfigurasi berkuat kuasa.
  3. Sahkan jika sambungan GD didayakan. Anda boleh mencipta fail PHP dan menyemak sama ada modul GD telah dimuatkan melalui fungsi phpinfo(). Jika ia dimuatkan, anda boleh mula menggunakan sambungan GD untuk pemprosesan dan manipulasi imej.

    2. Operasi asas imej:

  4. Memuatkan dan menyimpan imej:
    Untuk melakukan pemprosesan imej, anda perlu memuatkan imej terlebih dahulu. Fail imej boleh dimuatkan ke dalam objek sumber imej PHP menggunakan fungsi imagecreatefrom yang disediakan oleh perpustakaan GD.

Berikut ialah contoh kod untuk memuatkan dan menyimpan imej:

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Save image
imagejpeg($image, 'new_image.jpg', 100);

Dalam contoh di atas, fungsi imagecreatefromjpeg digunakan untuk mencipta objek sumber imej daripada fail JPEG, dan kemudian fungsi imagejpeg digunakan untuk menyimpan imej sumber kepada fail JPEG baharu. Parameter ketiga mewakili kualiti imej, dengan nilai antara 0 hingga 100, dengan 100 menunjukkan kualiti terbaik.

  1. Paparan dan output imej:
    Selepas memuatkan dan mengubah suai imej, kami boleh memaparkannya pada penyemak imbas atau mengeluarkannya ke fail imej baharu.

Berikut ialah contoh kod untuk memaparkan imej ke penyemak imbas:

// Display image
header('Content-Type: image/jpeg');
imagejpeg($image);

Dalam contoh di atas, kami menggunakan fungsi pengepala untuk menetapkan jenis MIME imej kepada 'imej/jpeg', dan kemudian menggunakan imagejpeg berfungsi untuk mengeluarkan sumber imej ke penyemak imbas.

Berikut adalah contoh kod untuk menyimpan imej sebagai fail imej baharu:

// Save modified image
imagejpeg($image, 'modified_image.jpg', 100);

3 Pemprosesan lanjut imej:
Selepas memuatkan imej, kita boleh melakukan pelbagai pemprosesan lanjut padanya, seperti penskalaan, pemangkasan, berputar, Laraskan kecerahan, kontras, warna dan banyak lagi.

  1. Skala Imej:
    Skala imej ialah salah satu operasi pemprosesan imej yang biasa. Kita boleh menggunakan fungsi imagecopyresampled untuk menskalakan imej asal kepada saiz yang ditentukan.

Berikut ialah contoh kod untuk menskalakan imej:

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Resize image
$width = 200;
$height = 200;
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));

// Save resized image
imagejpeg($new_image, 'resized_image.jpg', 100);

Dalam contoh di atas, kami mula-mula mencipta imej baharu dengan saiz yang ditentukan menggunakan fungsi imagecreatetruecolor, kemudian gunakan fungsi imagecopyresampled untuk menskalakan imej asal kepada imej baharu , dan akhirnya gunakan fungsi imagejpeg Simpan imej baharu.

  1. Pangkas imej:
    Pangkas imej merujuk kepada operasi memotong kawasan tertentu daripada imej asal. Gunakan fungsi imagecopy untuk menyalin kawasan tertentu bagi imej asal kepada imej baharu.

Berikut ialah contoh kod untuk memangkas imej:

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Crop image
$x = 100;
$y = 100;
$width = 200;
$height = 200;
$new_image = imagecreatetruecolor($width, $height);
imagecopy($new_image, $image, 0, 0, $x, $y, $width, $height);

// Save cropped image
imagejpeg($new_image, 'cropped_image.jpg', 100);

Dalam contoh di atas, kita mula-mula mencipta imej baharu dengan saiz yang ditentukan menggunakan fungsi imagecreatetruecolor, kemudian gunakan fungsi imagecopy untuk menyalin kawasan yang ditentukan bagi imej asal ke dalam imej baharu, dan akhirnya Simpan imej baharu menggunakan fungsi imagejpeg.

  1. Putar imej:
    Putar imej merujuk kepada operasi memutar imej asal mengikut sudut yang ditentukan. Imej boleh diputar menggunakan fungsi imagerotate.

Berikut ialah contoh kod untuk memutar imej:

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Rotate image
$angle = 45;
$rotated_image = imagerotate($image, $angle, 0);

// Save rotated image
imagejpeg($rotated_image, 'rotated_image.jpg', 100);

Dalam contoh di atas, kami menggunakan fungsi imagerotate untuk memutarkan imej mengikut sudut yang ditentukan, dan kemudian menggunakan fungsi imagejpeg untuk menyimpan imej yang diputar.

  1. Laraskan Kecerahan, Kontras dan Warna:
    Melaraskan kecerahan, kontras dan warna imej boleh menukar kesan visual keseluruhan imej. Gunakan fungsi penapis imej untuk menggunakan pelbagai kesan penapis pada imej, termasuk kecerahan, kontras dan pelarasan warna.

Berikut ialah kod sampel untuk melaraskan kecerahan:

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Adjust brightness
$brightness = 100;
imagefilter($image, IMG_FILTER_BRIGHTNESS, $brightness);

// Save modified image
imagejpeg($image, 'brightness_adjusted_image.jpg', 100);

Dalam contoh di atas, fungsi penapis imej digunakan untuk menggunakan kesan penapis pelarasan kecerahan pada imej Parameter IMG_FILTER_BRIGHTNESS mewakili pelarasan kecerahan, dan $brightness ialah. nilai pelarasan kecerahan.

Begitu juga, kita boleh menggunakan parameter IMG_FILTER_CONTRAST dan IMG_FILTER_COLORIZE untuk membuat kontras dan pelarasan warna pada imej.

Ringkasnya, artikel ini memperkenalkan pengetahuan asas tentang cara menggunakan PHP untuk pemprosesan dan pengendalian imej, dan menunjukkan secara terperinci pemuatan, penjimatan, paparan, output, penskalaan, pemangkasan, putaran dan pelarasan kecerahan dan kontras imej melalui contoh kod yang berkaitan dan operasi asas seperti warna. Saya harap artikel ini akan membantu anda memahami dan menggunakan pemprosesan imej PHP.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk pemprosesan dan manipulasi imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn