Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melakukan pemprosesan imej dalam PHP?

Bagaimana untuk melakukan pemprosesan imej dalam PHP?

PHPz
PHPzasal
2023-05-12 08:04:401663semak imbas

Pemprosesan imej ialah teknologi yang sangat penting dalam tapak web dan aplikasi. Melalui teknologi pemprosesan imej, imej boleh diubah saiz, dipotong, diputar, kesan penapis dan operasi lain boleh dilakukan untuk memenuhi keperluan peribadi. Dalam PHP, terdapat beberapa pustaka pemprosesan imej yang berkuasa, seperti GD, ImageMagick, dsb., yang boleh membantu kami menyelesaikan operasi ini. Artikel ini akan memperkenalkan anda kepada cara melakukan pemprosesan imej dalam PHP.

1. Pustaka GD

GD ialah perpustakaan pemprosesan imej yang biasa digunakan dalam PHP Melalui perpustakaan ini, PHP boleh melakukan pemprosesan imej, penjanaan imej dan operasi lain. Pustaka GD menyokong pemprosesan pelbagai format imej biasa, seperti JPEG, PNG, GIF, WBMP, BMP, dsb., dan menyediakan beberapa fungsi operasi yang biasa digunakan.

Apabila menggunakan perpustakaan GD untuk pemprosesan imej, anda perlu memastikan bahawa PHP mempunyai sambungan GD. Mula-mula, anda perlu membuka fail php.ini dan cari baris berikut dalam fail untuk memastikan sambungan GD didayakan:

extension=php_gd2.dll

Jika ia tidak didayakan , anda perlu mengalih keluar simbol ulasan, dan kemudian Mulakan semula pelayan atau perkhidmatan PHP.

1. Buka gambar

Gunakan fungsi imagecreatefromjpeg() untuk membuka gambar dalam format JPEG Kodnya adalah seperti berikut:

$im = imagecreatefromjpeg("picture. .jpg" );

Begitu juga, jika anda ingin membuka gambar dalam format PNG atau GIF, anda boleh menggunakan fungsi imagecreatefrompng() dan fungsi imagecreatefromgif().

2. Cipta imej baharu

Gunakan fungsi imagecreatetruecolor() untuk mencipta imej kosong Kodnya adalah seperti berikut:

$im = imagecreatetruecolor(400, 400. );

Parameter pertama fungsi ini ialah lebar imej baharu, dan parameter kedua ialah ketinggian imej baharu.

3. Ubah suai saiz imej

Gunakan fungsi imagecopyresized() untuk mengubah suai saiz imej Kodnya adalah seperti berikut:

$width = imagesx($ im);
$height = imagesy($im);
$new_width = $width * 0.5;
$new_height = $height * 0.5;
$new_im = imagecreatetruecolor($new_width, $new_height );
imagecopyresized ($new_im, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

Dalam kod, kita mula-mula mendapat lebar dan ketinggian imej asal, dan kemudian hitung Keluar lebar dan tinggi baharu, dan gunakan imagecreatetruecolor() untuk mencipta imej baharu. Kemudian kami menggunakan imagecopyresized() untuk mengurangkan imej asal dengan nisbah yang ditentukan dan menyimpan hasilnya dalam imej baharu.

4. Putaran imej

Gunakan fungsi imagerotate() untuk memutarkan imej adalah seperti berikut:

$degree = 45;
$new_im =. imagerotate( $im, $degree, 0);

Parameter pertama fungsi ini ialah imej yang akan diputar, parameter kedua ialah sudut putaran, dan parameter ketiga ialah warna yang ditentukan (semasa proses putaran, Piksel yang hilang diisi dengan warna itu).

5. Tambahkan tera air

Gunakan fungsi imagestring() untuk menambah tera air teks pada imej:

imagestring($im, 5, 5. , 5, " Hello world", $black);

Parameter pertama fungsi ini ialah imej yang akan ditambah dengan tera air, parameter kedua ialah saiz fon, parameter ketiga ialah koordinat x dan parameter keempat ialah y Koordinat, parameter kelima ialah kandungan teks yang akan ditambah, dan parameter keenam ialah warna teks.

2. ImageMagick

ImageMagick ialah perpustakaan pemprosesan imej yang berkuasa, yang melaluinya pelbagai operasi pemprosesan imej boleh dilakukan, seperti mengubah saiz imej, putaran, pemangkasan, dsb.

Untuk menggunakan perpustakaan ImageMagick, anda perlu terlebih dahulu memastikan ImageMagick dipasang pada pelayan dan sambungan PHP ImageMagick didayakan.

1. Buka imej

Gunakan fungsi readImage() kelas Imagick() untuk membuka imej adalah seperti berikut:

$im = new Imaginck() ;
$im->readImage("picture.jpg");

2. Cipta gambar baharu

Gunakan fungsi newImage() untuk mencipta gambar baharu . Kodnya adalah seperti berikut:

$im = new Imagick();
$im->newImage(400, 400, "white");

Parameter pertama bagi fungsi ini ialah Lebar imej baharu Parameter kedua ialah ketinggian imej baharu Parameter ketiga ialah warna latar belakang imej baharu.

3. Ubah suai saiz imej

Gunakan fungsi resizeImage() untuk mengubah suai saiz imej ($width

0.5, $height

0.5, Imagick::FILTER_LANCZOS, 1);Parameter pertama fungsi ini ialah lebar baharu, parameter kedua ialah ketinggian baharu dan parameter ketiga ialah Penapis interpolasi, parameter keempat ialah kekaburan penapis.

4. Putaran imej

Gunakan fungsi rotateImage() untuk memutarkan imej adalah seperti berikut:

$im->rotateImage(new ImagickPixel() , 45 );

Parameter pertama fungsi ini ialah sudut putaran, dan parameter kedua ialah warna yang ditentukan (semasa putaran, piksel yang hilang akan diisi dengan warna ini).

5. Tambahkan tera air

Gunakan fungsi annotateImage() untuk menambah tanda air teks pada imej adalah seperti berikut:

$draw = new ImagickDraw();

$ draw->setFont("Arial.ttf");

$draw->setFontSize(24);
$draw->setFillColor("black");
$draw ->setGravity (Imagick::GRAVITY_SOUTHWEST);
$draw->anotasi(5, 5, "Hello world");
$im->drawImage($draw);

Parameter pertama fungsi ini ialah objek ImagicDraw yang dicipta, parameter kedua ialah koordinat x, parameter ketiga ialah koordinat y, parameter keempat ialah kandungan teks yang akan ditambah, dan parameter kelima ialah warna teks .

3. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan perpustakaan GD dan ImageMagick dalam PHP untuk operasi pemprosesan imej. Melalui perpustakaan ini, kita boleh mengubah saiz, memutar, menambah tera air, dsb. pada imej dengan mudah untuk memenuhi keperluan yang berbeza. Menggunakan perpustakaan ini, kami boleh menjadikan tapak web dan aplikasi kami lebih cantik dan menarik lebih ramai pengguna.

Atas ialah kandungan terperinci Bagaimana untuk melakukan pemprosesan imej dalam PHP?. 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