Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melakukan pemprosesan imej dalam PHP?
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, $height0.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!