Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pustaka GD dan fungsi berkaitan dalam PHP

Pustaka GD dan fungsi berkaitan dalam PHP

WBOY
WBOYasal
2023-06-22 20:52:382718semak imbas

Pustaka GD dan fungsi berkaitannya dalam PHP

Pustaka GD ialah perpustakaan grafik yang sangat berkuasa dalam bahasa PHP Ia boleh digunakan untuk memproses gambar, menjana imej dan lakaran kecil secara dinamik, dsb. Artikel ini akan memperkenalkan konsep yang berkaitan dan fungsi umum perpustakaan GD.

  1. Pemasangan perpustakaan GD

Sebelum menggunakan perpustakaan GD, anda perlu memastikan bahawa perpustakaan telah dipasang pada sistem. Anda boleh memasukkan arahan berikut pada baris arahan untuk menyemak sama ada perpustakaan GD telah dipasang:

php -m | grep -i gd

Jika "gd" adalah output, ia bermakna perpustakaan GD telah dipasang jika output kosong, anda perlu menggunakan arahan berikut untuk menggantikan perpustakaan GD yang Dipasang ke dalam sistem:

sudo apt-get install php7.2-gd
  1. Konsep asas perpustakaan GD

Perpustakaan GD ialah platform silang sumber terbuka perpustakaan grafik yang boleh digunakan untuk memproses gambar dan menghasilkan imej dan lakaran kecil dll. Apabila pustaka GD memproses imej, ia menukar imej kepada koleksi piksel dan memproses setiap piksel. Piksel biasanya merangkumi tiga nilai warna: merah, hijau dan biru Dengan memproses tiga nilai warna ini, imej pelbagai warna boleh diperolehi.

  1. Fungsi pustaka GD yang biasa digunakan

Pustaka GD menyediakan banyak fungsi yang sangat berguna akan diperkenalkan di bawah.

3.1. imagecreatetruecolor()

Fungsi imagecreatetruecolor digunakan untuk mencipta imej warna sebenar, dan pengisytiharannya adalah seperti berikut:

resource imagecreatetruecolor ( int $width , int $height )

di mana $width dan $height adalah lebar imej dan ketinggian, nilai pulangan ialah pemegang sumber imej.

Berikut ialah contoh penggunaan fungsi imagecreatetruecolor untuk mencipta segi empat tepat merah 300x200:

<?php
// 创建一个300x200的真彩色图像
$img = imagecreatetruecolor(300, 200);

//定义红色
$red = imagecolorallocate($img, 255, 0, 0);

//在图像上画一个填充了红色的矩形
imagefilledrectangle($img, 0, 0, 300, 200, $red);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($img);

//释放图像资源
imagedestroy($img);
?>

3.2 imagecreatefromjpeg()

Fungsi imagecreatefromjpeg digunakan untuk mencipta 3000x2. segi empat tepat merah daripada fail imej JPG Pemegang sumber imej baca diisytiharkan seperti berikut:

resource imagecreatefromjpeg ( string $filename )

Antaranya, $filename ialah nama fail imej JPG, dan nilai pulangan ialah pemegang sumber imej.

Berikut ialah contoh penggunaan fungsi imagecreatefromjpeg untuk membaca fail imej JPG dan menskalakannya:

<?php
//从文件中创建一个图像资源
$src_image = imagecreatefromjpeg('source.jpg');

//获取原始图像的宽和高
list($src_width, $src_height) = getimagesize('source.jpg');

//创建一个新的缩放后的图像资源
$dst_image = imagecreatetruecolor(100, 100);

//将原始图像按照比例缩放到新的图像资源中
imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, 100, 100, $src_width, $src_height);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($dst_image);

//释放图像资源
imagedestroy($src_image);
imagedestroy($dst_image);
?>

3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.3. tindih imej pada Pada imej lain dan tetapkan ketelusan, pengisytiharannya adalah seperti berikut:

bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

di mana, $dst_im ialah pemegang sumber imej sasaran, $src_im ialah pemegang sumber imej sumber, $dst_x dan $dst_y ialah titik permulaan dalam imej sasaran Koordinat, $src_x dan $src_y ialah koordinat permulaan dalam imej sumber, $src_w dan $src_h ialah lebar dan tinggi imej sumber, $pct ialah ketelusan, julat ialah 0- 100.

Berikut ialah contoh menggunakan fungsi imagecopymerge untuk menutup imej bulat di dalam peta asas lain:

<?php
//从文件中创建一个底图
$bg_image = imagecreatefrompng('bg.png');

//从文件中创建一个圆形图像
$circle_image = imagecreatefrompng('circle.png');

//获取圆形图像的宽和高
list($circle_width, $circle_height) = getimagesize('circle.png');

//定义透明度为60%
$pct = 60;

//将圆形图像复制到底图中
imagecopymerge($bg_image, $circle_image, 100, 100, 0, 0, $circle_width, $circle_height, $pct);

//将图像输出到浏览器
header('Content-type: image/png');
imagepng($bg_image);

//释放图像资源
imagedestroy($bg_image);
imagedestroy($circle_image);
?>

Ringkasan
  1. Perpustakaan GD adalah A sangat perpustakaan grafik berguna yang memudahkan untuk memanipulasi dan menjana imej. Artikel ini memperkenalkan pemasangan, konsep asas dan fungsi umum perpustakaan GD. Dengan mempelajari dan menggunakan perpustakaan GD, kami boleh menjadikan aplikasi PHP kami lebih fleksibel dan berkuasa.

Atas ialah kandungan terperinci Pustaka GD dan fungsi berkaitan 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