Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pangkas imej secara automatik dalam php

Pangkas imej secara automatik dalam php

WBOY
WBOYasal
2023-05-06 20:54:07755semak imbas

Dengan perkembangan Internet, imej telah menjadi elemen yang sangat diperlukan dalam laman web dan aplikasi. Walau bagaimanapun, apabila menggunakan imej dalam tapak web atau aplikasi, kadangkala kami menghadapi beberapa masalah, seperti saiz imej yang tidak sepadan, nisbah aspek yang tidak konsisten, dsb. Masalah ini akan menjejaskan pengalaman pengguna tapak web atau aplikasi. Untuk melakukan ini, kami memerlukan teknologi yang memangkas imej secara automatik supaya ia lebih sesuai dengan keperluan kita tanpa menjejaskan keterlihatannya.

PHP ialah bahasa pengaturcaraan berkuasa yang boleh digunakan dengan mudah dengan perpustakaan pemprosesan imej. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perpustakaan GD dalam PHP untuk memangkas imej secara automatik.

Apakah perpustakaan GD?

Pustaka GD ialah perpustakaan kod sumber terbuka untuk pemprosesan imej. Ia menyediakan pelbagai fungsi dan kaedah yang boleh digunakan untuk mencipta, memproses dan menyimpan pelbagai jenis fail imej, termasuk JPEG, PNG, GIF, dll. Pustaka GD ialah perpustakaan sambungan biasa untuk PHP dan banyak bahasa pengaturcaraan lain, yang menyediakan pengaturcara PHP dengan fleksibiliti yang hebat dalam pemprosesan imej.

Cara menggunakan perpustakaan GD untuk memangkas gambar

Sebelum menggunakan perpustakaan GD untuk memangkas gambar, kita perlu memastikan bahawa perpustakaan GD telah dipasang pada pelayan. Untuk menyemak sama ada pustaka GD dipasang pada pelayan, anda boleh menggunakan fungsi phpinfo(). Jika anda melihat item "Sokongan GD" muncul dalam tetingkap output, ini bermakna perpustakaan GD telah dipasang dengan betul. Jika anda tidak melihat item ini, anda perlu memasang pustaka GD pada pelayan. Sebelum melakukan ini, anda perlu memastikan anda mempunyai hak pentadbir atau kebenaran daripada pentadbir.

Seterusnya, mari kita lihat cara menggunakan pustaka GD untuk memangkas imej. Dalam PHP, kita boleh mencipta imej kosong baharu menggunakan fungsi imagecreatetruecolor(). Imej asal kemudiannya boleh dipotong daripada kedudukan dan dimensi yang ditentukan menggunakan fungsi imagecopyresampled() dan disalin ke dalam imej baharu.

Berikut ialah fungsi PHP mudah untuk memangkas imej secara automatik:

function crop_image($source_path, $target_path, $width, $height) {
  list($original_width, $original_height, $type) = getimagesize($source_path);
  $image = imagecreatefromstring(file_get_contents($source_path));
  $crop_width = min($original_width, $original_height * $width / $height);
  $crop_height = min($original_height, $original_width * $height / $width);
  $crop_x = ($original_width - $crop_width) / 2;
  $crop_y = ($original_height - $crop_height) / 2;
  $new_image = imagecreatetruecolor($width, $height);
  imagecopyresampled($new_image, $image, 0, 0, $crop_x, $crop_y, $width, $height, $crop_width, $crop_height);
  imagejpeg($new_image, $target_path, 90);
  imagedestroy($image);
  imagedestroy($new_image);
}

Mari kita analisa fungsi ini secara terperinci. Fungsi ini menerima empat parameter: laluan sumber, laluan destinasi, lebar dan ketinggian imej destinasi. Dalam fungsi, kita mula-mula mendapat lebar dan ketinggian imej asal melalui fungsi getimagesize().

Seterusnya, kami mengira lebar dan tinggi yang kami perlukan untuk klip. Dalam contoh ini, kami memilih untuk mengira berdasarkan ketinggian sasaran. Kita boleh mengira lebar dan tinggi yang perlu dipotong berdasarkan nisbah aspek sasaran. Selepas mengira lebar dan tinggi yang perlu dipotong, kita boleh menggunakan fungsi imagecreatetruecolor() untuk mencipta imej kosong baharu.

Seterusnya, kami menggunakan fungsi imagecopyresampled() untuk memotong imej asal daripada kedudukan dan saiz yang ditentukan dan menyalinnya ke imej baharu. Fungsi ini menerima banyak parameter, di mana parameter pertama mewakili imej sasaran, parameter kedua mewakili imej sumber, parameter ketiga dan keempat mewakili koordinat sudut kiri atas imej sasaran, dan parameter kelima dan keenam mewakili koordinat dari Tempat untuk mula memotong imej asal, parameter ketujuh dan kelapan mewakili lebar dan ketinggian imej sasaran, dan dua parameter terakhir mewakili lebar dan ketinggian bahagian yang dipangkas.

Akhir sekali, kami menggunakan fungsi imagejpeg() untuk menyimpan imej baharu ke laluan sasaran dan menetapkan kualiti imej kepada 90. Akhir sekali, kami menggunakan fungsi imagedestroy() untuk melepaskan memori dan mengelakkan kebocoran memori.

Ringkasan

Terdapat banyak faedah menggunakan perpustakaan GD dalam PHP untuk memangkas imej secara automatik. Mula-mula, anda boleh memastikan imej telah diubah saiz dengan betul agar muat pada skrin dan peranti yang berbeza. Kedua, ia boleh meningkatkan pengalaman pengguna dan menjadikan laman web dan aplikasi kelihatan lebih canggih. Akhir sekali, teknologi ini juga boleh membantu kami mencipta tapak web dan aplikasi yang lebih pantas dan cekap.

Sudah tentu, memangkas imej hanyalah salah satu daripada banyak ciri yang disediakan oleh perpustakaan GD. Menggunakan pustaka GD anda juga boleh membuat imej, memutar, skala, menambah tera air, dsb. Ringkasnya, perpustakaan GD ialah alat pemprosesan imej yang sangat berkuasa yang sesuai untuk pembangun PHP dan bahasa pengaturcaraan lain.

Atas ialah kandungan terperinci Pangkas imej secara automatik 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