Rumah pembangunan bahagian belakang tutorial php Pustaka GD dan fungsi berkaitan dalam PHP

Pustaka GD dan fungsi berkaitan dalam PHP

Jun 22, 2023 pm 08:52 PM
php fungsi perpustakaan gd

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
Salin selepas log masuk

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
Salin selepas log masuk
  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 )
Salin selepas log masuk

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);
?>
Salin selepas log masuk

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 )
Salin selepas log masuk

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);
?>
Salin selepas log masuk

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 )
Salin selepas log masuk

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);
?>
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles