cari
Rumahpembangunan bahagian belakangmasalah PHPPangkas imej secara automatik dalam php

Dengan perkembangan Internet, imej telah menjadi elemen yang sangat diperlukan dalam laman web dan aplikasi. Walau bagaimanapun, apabila menggunakan imej dalam tapak web atau aplikasi, kadangkala kami menghadapi beberapa masalah, seperti saiz imej yang tidak sepadan, nisbah aspek yang tidak konsisten, dsb. Masalah ini akan menjejaskan pengalaman pengguna tapak web atau aplikasi. Untuk melakukan ini, kami memerlukan teknologi yang memangkas imej secara automatik supaya ia lebih sesuai dengan keperluan kita tanpa menjejaskan keterlihatannya.

PHP ialah bahasa pengaturcaraan berkuasa yang boleh digunakan dengan mudah dengan perpustakaan pemprosesan imej. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perpustakaan GD dalam PHP untuk memangkas imej secara automatik.

Apakah perpustakaan GD?

Pustaka GD ialah perpustakaan kod sumber terbuka untuk pemprosesan imej. Ia menyediakan pelbagai fungsi dan kaedah yang boleh digunakan untuk mencipta, memproses dan menyimpan pelbagai jenis fail imej, termasuk JPEG, PNG, GIF, dll. Pustaka GD ialah perpustakaan sambungan biasa untuk PHP dan banyak bahasa pengaturcaraan lain, yang menyediakan pengaturcara PHP dengan fleksibiliti yang hebat dalam pemprosesan imej.

Cara menggunakan perpustakaan GD untuk memangkas gambar

Sebelum menggunakan perpustakaan GD untuk memangkas gambar, kita perlu memastikan bahawa perpustakaan GD telah dipasang pada pelayan. Untuk menyemak sama ada pustaka GD dipasang pada pelayan, anda boleh menggunakan fungsi phpinfo(). Jika anda melihat item "Sokongan GD" muncul dalam tetingkap output, ini bermakna perpustakaan GD telah dipasang dengan betul. Jika anda tidak melihat item ini, anda perlu memasang pustaka GD pada pelayan. Sebelum melakukan ini, anda perlu memastikan anda mempunyai hak pentadbir atau kebenaran daripada pentadbir.

Seterusnya, mari kita lihat cara menggunakan pustaka GD untuk memangkas imej. Dalam PHP, kita boleh mencipta imej kosong baharu menggunakan fungsi imagecreatetruecolor(). Imej asal kemudiannya boleh dipotong daripada kedudukan dan dimensi yang ditentukan menggunakan fungsi imagecopyresampled() dan disalin ke dalam imej baharu.

Berikut ialah fungsi PHP mudah untuk memangkas imej secara automatik:

function crop_image($source_path, $target_path, $width, $height) {
  list($original_width, $original_height, $type) = getimagesize($source_path);
  $image = imagecreatefromstring(file_get_contents($source_path));
  $crop_width = min($original_width, $original_height * $width / $height);
  $crop_height = min($original_height, $original_width * $height / $width);
  $crop_x = ($original_width - $crop_width) / 2;
  $crop_y = ($original_height - $crop_height) / 2;
  $new_image = imagecreatetruecolor($width, $height);
  imagecopyresampled($new_image, $image, 0, 0, $crop_x, $crop_y, $width, $height, $crop_width, $crop_height);
  imagejpeg($new_image, $target_path, 90);
  imagedestroy($image);
  imagedestroy($new_image);
}

Mari kita analisa fungsi ini secara terperinci. Fungsi ini menerima empat parameter: laluan sumber, laluan destinasi, lebar dan ketinggian imej destinasi. Dalam fungsi, kita mula-mula mendapat lebar dan ketinggian imej asal melalui fungsi getimagesize().

Seterusnya, kami mengira lebar dan tinggi yang kami perlukan untuk klip. Dalam contoh ini, kami memilih untuk mengira berdasarkan ketinggian sasaran. Kita boleh mengira lebar dan tinggi yang perlu dipotong berdasarkan nisbah aspek sasaran. Selepas mengira lebar dan tinggi yang perlu dipotong, kita boleh menggunakan fungsi imagecreatetruecolor() untuk mencipta imej kosong baharu.

Seterusnya, kami menggunakan fungsi imagecopyresampled() untuk memotong imej asal daripada kedudukan dan saiz yang ditentukan dan menyalinnya ke imej baharu. Fungsi ini menerima banyak parameter, di mana parameter pertama mewakili imej sasaran, parameter kedua mewakili imej sumber, parameter ketiga dan keempat mewakili koordinat sudut kiri atas imej sasaran, dan parameter kelima dan keenam mewakili koordinat dari Tempat untuk mula memotong imej asal, parameter ketujuh dan kelapan mewakili lebar dan ketinggian imej sasaran, dan dua parameter terakhir mewakili lebar dan ketinggian bahagian yang dipangkas.

Akhir sekali, kami menggunakan fungsi imagejpeg() untuk menyimpan imej baharu ke laluan sasaran dan menetapkan kualiti imej kepada 90. Akhir sekali, kami menggunakan fungsi imagedestroy() untuk melepaskan memori dan mengelakkan kebocoran memori.

Ringkasan

Terdapat banyak faedah menggunakan perpustakaan GD dalam PHP untuk memangkas imej secara automatik. Mula-mula, anda boleh memastikan imej telah diubah saiz dengan betul agar muat pada skrin dan peranti yang berbeza. Kedua, ia boleh meningkatkan pengalaman pengguna dan menjadikan laman web dan aplikasi kelihatan lebih canggih. Akhir sekali, teknologi ini juga boleh membantu kami mencipta tapak web dan aplikasi yang lebih pantas dan cekap.

Sudah tentu, memangkas imej hanyalah salah satu daripada banyak ciri yang disediakan oleh perpustakaan GD. Menggunakan pustaka GD anda juga boleh membuat imej, memutar, skala, menambah tera air, dsb. Ringkasnya, perpustakaan GD ialah alat pemprosesan imej yang sangat berkuasa yang sesuai untuk pembangun PHP dan bahasa pengaturcaraan lain.

Atas ialah kandungan terperinci Pangkas imej secara automatik 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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa

See all articles

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft