Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan pemprosesan imej dalam PHP7.0?

Bagaimana untuk melaksanakan pemprosesan imej dalam PHP7.0?

王林
王林asal
2023-05-27 08:51:391550semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web Ia sangat mudah dibaca dan mudah dipelajari Ia juga mempunyai nilai aplikasi yang tinggi dalam bidang pemprosesan imej. Daripada peningkatan PHP5.5 kepada PHP7.0, PHP telah membuat satu siri pengoptimuman dan penambahbaikan dalam pemprosesan imej, termasuk pengurusan memori yang lebih cekap, kelajuan pelaksanaan yang lebih pantas, fungsi pemprosesan imej yang lebih kaya, dsb. Artikel ini akan memperkenalkan secara terperinci cara melakukan pemprosesan imej dalam PHP7.0.

1. Pustaka GD

Pemprosesan imej ialah bahagian penting dalam pembangunan web, jadi PHP menyediakan banyak perpustakaan untuk membantu pembangun web melaksanakan pemprosesan imej, antaranya pustaka GD adalah yang paling biasa. Pustaka GD ialah perpustakaan sambungan untuk PHP yang menyediakan banyak fungsi yang ringkas dan mudah digunakan untuk memproses imej, seperti penskalaan, putaran, ricih, dsb. Dalam PHP7.0, perpustakaan GD juga telah menjalani beberapa pengoptimuman. Untuk menggunakan pustaka GD, ia boleh didayakan melalui arahan sambungan dalam fail php.ini dan mesti didayakan semasa pemasangan PHP.

2. Pasang pustaka GD

Sebelum menggunakan pustaka GD, anda perlu menyemak sama ada PHP telah mendayakan pustaka ini. Anda boleh melihat maklumat konfigurasi PHP melalui fungsi phpinfo(), termasuk maklumat tentang perpustakaan GD. Anda boleh menyemak sama ada pustaka GD dipasang melalui kaedah berikut:

<?php
phpinfo();
?>

Jika anda tidak melihat jadual modul sambungan gd, ini bermakna pustaka GD belum dipasang. Untuk memasang perpustakaan GD, anda boleh menggunakan langkah berikut:

  1. Muat turun perpustakaan GD

Lawati tapak web rasmi perpustakaan GD (https://libgd. github.io/), Dan muat turun pakej pemasangan yang sepadan.

  1. Pasang kebergantungan

Untuk memasang pustaka GD, anda mesti terlebih dahulu memasang kebergantungan gd, libpng, libjpeg dan libfreetype, yang bergantung pada sistem pengendalian yang anda gunakan Pastinya .

Sebagai contoh, dalam Ubuntu, kebergantungan ini boleh dipasang menggunakan:

 sudo apt-get install libpng-dev libjpeg-dev libfreetype6-dev
  1. Kompilasi dan pasang pustaka GD

Kompil dan pasang menggunakan yang berikut arahan Pasang pustaka GD:

 ./configure
 make
 make install
  1. Dayakan pustaka GD

Pergi ke dalam fail php.ini (php-fpm.ini jika PHP-FPM) dan cari Arahan berikut:

 ;extension=gd.so

Alih keluar koma bertitik sebelumnya, nyahkomennya, simpan dan mulakan semula pelayan.

3. Pemprosesan imej

  1. Mencipta imej

Mula-mula anda perlu membuat kanvas anda boleh menggunakan fungsi imagecreatetruecolor() GD perpustakaan untuk mencipta kanvas dengan saiz dan warna yang ditentukan. Contohnya, kod berikut akan mencipta kanvas dengan dimensi 400x400 piksel dan warna latar belakang putih:

 $image = imagecreatetruecolor(400, 400);
 $background = imagecolorallocate($image, 255, 255, 255);
 imagefill($image, 0, 0, $background);
  1. Baca Imej

Untuk memanipulasi imej, anda perlu untuk membaca fail imej Masukkan ke dalam ingatan. Imej boleh dibaca menggunakan fungsi imagecreatefromxxx() pustaka GD. xxx mewakili format fail imej yang berbeza, seperti jpeg, png, gif, dsb. Contohnya, kod berikut akan membaca imej JPEG bernama "test.jpg":

 $image = imagecreatefromjpeg('test.jpg');
  1. Skalakan imej

Menskala imej ialah operasi pemprosesan imej yang biasa. Anda boleh menggunakan fungsi imagescale() pustaka GD untuk menskalakan imej dan menentukan saiz berskala. Contohnya, kod berikut akan menskalakan imej 800x600 piksel kepada saiz 400x300 piksel:

 $image = imagecreatefromjpeg('test.jpg');
 $resized_image = imagescale($image, 400, 300);
  1. Putar imej

Satu lagi operasi pemprosesan imej yang biasa ialah memutar imej. Anda boleh menggunakan fungsi imagerotate() pustaka GD untuk memutar imej dan menentukan sudut putaran. Contohnya, kod berikut akan memutarkan imej 90 darjah:

 $image = imagecreatefromjpeg('test.jpg');
 $rotated_image = imagerotate($image, 90, 0);
  1. Gabung imej

Gabung imej ialah kaedah menggabungkan dua atau lebih imej ke dalam operasi imej baharu . Imej boleh digabungkan menggunakan fungsi imagecopy() perpustakaan GD. Contohnya, kod berikut akan menggabungkan dua imej:

 $image1 = imagecreatefrompng('image1.png');
 $image2 = imagecreatefromjpeg('image2.jpg');
 imagecopy($image1, $image2, 0, 0, 0, 0, 200, 200);
  1. Potong imej

Memotong imej ialah operasi biasa dan boleh dilakukan menggunakan imagecrop() perpustakaan GD fungsi untuk melaksanakan. Sebagai contoh, kod berikut akan memotong segi empat sama 200x200 piksel daripada imej dengan dimensi 800x600 piksel:

 $image = imagecreatefromjpeg('test.jpg');
 $cropped_image = imagecrop($image, ['x' => 300, 'y' => 200, 'width' => 200, 'height' => 200]);
  1. Imej output

Akhir sekali, imej yang diproses adalah output kepada tindak balas. Anda boleh menggunakan imagepng(), imagejpeg(), imagegif() pustaka GD dan fungsi lain untuk mengeluarkan imej ke dalam fail dalam PNG, JPEG, GIF dan format lain. Sebagai contoh, kod berikut mengeluarkan imej JPEG bernama "output.jpg" kepada respons:

 header('Content-Type: image/jpeg');
 imagejpeg($image, null, 100);

4. Ringkasan

Pemprosesan imej dalam PHP7.0 adalah sangat mudah, Terutamanya menggunakan pelbagai fungsi disediakan oleh perpustakaan GD untuk mencipta, memanipulasi dan mengeluarkan imej. Untuk menggunakan pustaka GD, anda perlu menyemak dan memasang kebergantungan dan mendayakan sambungan yang sepadan dalam fail php.ini. Anda kemudiannya boleh menggunakan pelbagai fungsi pustaka GD untuk melaksanakan operasi pemprosesan imej biasa seperti penskalaan, putaran, ricih dan penggabungan. Untuk pemprosesan imej dalam pembangunan web, PHP7.0 adalah pilihan yang sangat berkesan dan cekap.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemprosesan imej dalam PHP7.0?. 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