Dalam artikel sebelumnya, saya membawakan anda "Bagaimana untuk melukis kod pengesahan grafik melalui PHP? 》, yang memperkenalkan cara melukis teks dalam PHP dan cara melukis kod pengesahan grafik berdasarkan pengetahuan sebelumnya. Dalam artikel ini, mari kita lihat cara membuat skala dan memangkas grafik.
Terdahulu kita belajar cara melukis kod pengesahan grafik, kemudian mari kita lihat cara mencapai penskalaan dan pemangkasan imej dalam PHP beroperasi. Tetapi sebelum kita memahami penskalaan dan pemangkasan imej, mari kita kenali dahulu dua fungsi berikut:
<strong>imagecopyresampled</strong><strong> </strong>
: digunakan untuk sampel semula dan menyalin sebahagian daripada imej dan ubah saiznya
<code><strong>imagecopyresized</strong><strong> </strong>
imagecopyresized
: digunakan untuk menyalin sebahagian daripada imej dan mengubah saiz ia
1 | imagecopyresampled ($目标图 ,$来源图,$目标开始的x位置,$目标开始的y位置,$来源开始的x位置,$来源开始的y位置,$目标图片的宽 ,$目标图片的高,$来源图片的宽 ,$来源图片的高 )
|
Salin selepas log masuk
Kedua-dua fungsi ini menyalin imej dan boleh digunakan untuk melengkapkan penskalaan atau pemangkasan imej. Parameter format sintaks mereka adalah sama, perbezaannya ialah sama ada mereka menyalin sebahagian daripada gambar atau keseluruhan gambar. Format sintaksnya adalah seperti berikut:
Lebar dan ketinggian imej yang ditentukan bermula dari titik permulaan (x, y) imej sumber. Letakkannya ke titik permulaan (x, y) imej sasaran dan nyatakan lebar dan ketinggian imej.
Zum imej
Zum imej Mula-mula kita sediakan imej bernama anjing.png:
Kod kami perlu melakukan langkah berikut untuk melengkapkan penskalaan grafik:
Buka imej sumber-
- Tetapkan peratusan penskalaan imej (zum)
- Dapatkan imej sumber dan laraskan saiz mengikut nisbah
- Cipta baharu yang ditentukan Saiz imej ialah imej sasaran
- Letakkan saiz larasan imej sumber ke dalam sasaran
Hancurkan sumber
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php
$a = imagecreatefrompng('dog.png');
$percent = 0.1;
list( $width , $height ) = getimagesize ('dog.png');
$new_width = $width * $percent ;
$new_height = $height * $percent ;
$new_image = imagecreatetruecolor( $new_width , $new_height );
imagecopyresampled( $new_image , $a , 0, 0, 0, 0, $new_width , $new_height , $width , $height );
header('content-type:image/jpeg');
imagejpeg( $new_image );
?>
|
Salin selepas log masuk
Contohnya adalah seperti berikut:
Hasil keluaran:
Daripada keputusan di atas, fungsi copyresampledh imej digunakan untuk melengkapkan Zum imej.
Pangkas gambar
imagecopyresized
Pangkas gambar, anda perlu menggunakan fungsi
. Seterusnya, mari kita jelaskan melalui contoh:
Saya mempunyai dua gambar bernama dog.png dan logo.png
- Mahukannya sekarang Pangkas imej logo dan letakkan di atas imej anjing. Bagaimana ini harus dicapai? Berikut ialah langkah utama:
- Buka imej sumber dan imej sasaran
- Tangkap titik dalam imej sumber dan tetapkan lebar dan ketinggian. ke dalam imej sasaran. (Pangkas)
- Simpan input imej
Memusnahkan sumber
Operasi sebenar adalah seperti berikut :
Dalam imej logo, saya ingin memotong bahagian teks dan hanya menyimpan bahagian imej Kita boleh tahu bahawa koordinat permulaan bahagian imej yang ingin kita simpan ialah (0,0 ) dan koordinat penamat ialah (52 , 59).
1 2 3 4 5 6 7 8 9 | <?php
$dst = imagecreatefrompng('dog.png');
$src = imagecreatefrompng('logo.png');
imagecopyresized( $dst , $src , 0, 0, 0, 0, 52, 59, 52, 59);
header('content-type:image/jpeg');
imagejpeg( $dst );
imagedestroy( $dst );
imagedestroy( $src );
?>
|
Salin selepas log masuk
Kemudian kami meletakkan imej yang dipangkas di sudut kiri atas imej sasaran, koordinat tepat adalah dari (0, 0) hingga (52, 59) , kini setelah kami menyusun idea, kodnya adalah seperti berikut:
Hasil keluaran:
Dengan hasil di atas , kami telah menyelesaikan pas Pemotongan imej mengikut fungsi imagecopyresizedh.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!