Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Aplikasi pemprosesan imej PHP getimagesize()

Aplikasi pemprosesan imej PHP getimagesize()

王林
王林asal
2023-06-19 23:31:573376semak imbas

PHP ialah bahasa skrip sebelah pelayan yang digunakan untuk pembangunan web Apabila ia melibatkan pemprosesan imej, terdapat fungsi yang sangat berguna yang dipanggil getimagesize(). Dalam artikel ini, kami akan memperkenalkan peranan dan penggunaan getimagesize(), dan menggunakan beberapa contoh untuk menggambarkan cara menggunakan fungsi ini untuk memproses imej. Artikel ini bertujuan untuk pemula dan pembangun berpengalaman.

1. Apakah itu getimagesize()?

getimagesize() ialah fungsi dalam PHP yang digunakan untuk mendapatkan saiz dan format imej. Ia boleh mengembalikan tatasusunan yang mengandungi lebar, ketinggian, jenis dan jenis MIME imej.

2. Sintaks getimagesize()

Sintaks asas getimagesize() adalah seperti berikut:

$size = getimagesize($filename);

di mana, $filename ialah laluan ke fail imej dari mana maklumat akan diperolehi. Fungsi ini mengembalikan tatasusunan $saiz Elemen tatasusunan adalah seperti berikut:

$size[0]: lebar imej
$size[1]: ketinggian imej
$ saiz[2]: lebar imej Jenis
$size[3]: jenis MIME imej
$size[bit]: Kedalaman bit imej
$size[channels]: Bilangan saluran imej
$size[mime]: Jenis MIME imej

3. Cara menggunakan getimagesize()

Di bawah kami menggunakan beberapa contoh untuk menggambarkan penggunaan getimagesize().

  1. Dapatkan saiz dan format imej

Untuk mendapatkan saiz dan format imej, hanya hantar laluan ke fail imej ke fungsi getimagesize() :

$size = getimagesize("image.jpg");
gema "Saiz imej: $size[0]x$size[1], format: $size[mime]";

Hasil output ialah: saiz imej: 800x600, format: imej/jpeg.

  1. Semak jenis imej

Kadangkala, kita perlu menentukan jenis imej. Fungsi getimagesize() boleh mengembalikan nilai integer yang mewakili jenis imej. Nilai mempunyai pemalar berikut:

IMAGETYPE_GIF: Format GIF
IMAGETYPE_JPEG: format JPEG
IMAGETYPE_PNG: format PNG
IMAGETYPE_BMP: Format BMP
format pesanan IMAGETYPE_TIFF_II:
IMAGETYPE_TIFF_MM: format TIFF (urutan Motorola bait)
IMAGETYPE_ICO: format ICO

Sebagai contoh, untuk menyemak sama ada imej dalam format JPEG, anda boleh melakukan ini:

$ saiz = getimagesize( "image.jpg");
jika ($saiz[2] == IMAGETYPE_JPEG) {

echo "这是一个JPEG图像";

}

Hasil output ialah: Ini ialah imej JPEG .

  1. Nyatakan saiz imej output

Kadangkala, kita perlu mengecilkan imej besar kepada imej kecil. Anda boleh menggunakan imagecreatetruecolor() untuk mencipta sumber imej baharu, kemudian salin imej asal ke imej baharu melalui fungsi imagecopyresampled() dan gunakan fungsi imagejpeg() untuk mengeluarkan imej baharu kepada penyemak imbas atau fail. Kod berikut mengurangkan imej 800x600 kepada saiz 200x150:

$src = "image.jpg";
list($width, $height) = getimagesize($src);
$ newwidth = 200;
$newheight = 150;
$tmp = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($src);
imagecopyresampled($tmp, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($tmp, "new_image.jpg", 100);
imagedestroy($tmp);

Dalam kod di atas, fungsi imagecreatetruecolor() mencipta sumber imej baharu dengan saiz 200x150. Kemudian, fungsi imagecreatefromjpeg() mencipta sumber imej baharu daripada imej asal. Fungsi imagecopyresampled() menyalin imej asal ke dalam imej baharu, dan fungsi imagejpeg() digunakan untuk mengeluarkan imej baharu kepada fail.

4. Kesimpulan

Dalam pemprosesan imej PHP, gunakan fungsi getimagesize() untuk mendapatkan saiz dan format imej dan semak jenis imej. Selain itu, fungsi ini juga membantu kami menentukan saiz imej output. Terima kasih kerana membaca, semoga artikel ini bermanfaat untuk anda.

Atas ialah kandungan terperinci Aplikasi pemprosesan imej PHP getimagesize(). 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