Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)

Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)

WBOY
WBOYasal
2021-10-20 11:54:423595semak imbas

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.

Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)

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


imagecopyresampled ($目标图 ,$来源图,$目标开始的x位置,$目标开始的y位置,$来源开始的x位置,$来源开始的y位置,$目标图片的宽 ,$目标图片的高,$来源图片的宽 ,$来源图片的高 )
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: Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)


    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


<?php
//打开来源图片
$a = imagecreatefrompng(&#39;dog.png&#39;);
//定义百分比,缩放到0.1大小
$percent = 0.1;
// 将图片宽高获取到
list($width, $height) = getimagesize(&#39;dog.png&#39;);
//设置新的缩放的宽高
$new_width = $width * $percent;
$new_height = $height * $percent;
//创建新图片
$new_image = imagecreatetruecolor($new_width, $new_height);
//将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中
imagecopyresampled($new_image, $a, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
header(&#39;content-type:image/jpeg&#39;);
imagejpeg($new_image);
?>
Contohnya adalah seperti berikut:

Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)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:

Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)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 :

Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)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). Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)


<?php
 $dst = imagecreatefrompng(&#39;dog.png&#39;);
 $src = imagecreatefrompng(&#39;logo.png&#39;);
 imagecopyresized($dst, $src, 0, 0, 0, 0, 52, 59, 52, 59);
 header(&#39;content-type:image/jpeg&#39;); 
imagejpeg($dst); 
imagedestroy($dst);
 imagedestroy($src);
 ?>
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:

Bagaimana untuk melengkapkan penskalaan dan pemangkasan imej dalam PHP? (contoh terperinci)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!

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