Rumah >pembangunan bahagian belakang >tutorial php >Saiz semula dan memanipulasi imej dalam PHP (dengan contoh)

Saiz semula dan memanipulasi imej dalam PHP (dengan contoh)

William Shakespeare
William Shakespeareasal
2025-03-03 09:52:11400semak imbas

Tutorial ini memperluaskan manipulasi imej Perpustakaan PHP GD asas, membina liputan sebelumnya mengenai pemuatan imej, tanaman, berputar, berskala, dan membalikkan. Kami akan meneroka teknik canggih seperti menangkap aliran output imej dan menyemai air.

Sebelum ini, kami memeriksa imagejpeg() dan imagegif() untuk output imej. Kita boleh menangkap output ini menggunakan fungsi seperti imagecreatefromjpeg(). Sebagai contoh, imagejpeg() tanpa argumen nama fail mengeluarkan aliran mentah; ob_get_contents() menangkap aliran ini. Data mentah ini kemudiannya boleh dikodkan oleh Base64. Sebaliknya, rentetan imej yang dikodkan oleh Base64 boleh dikodkan dan digunakan untuk membuat imej melalui imagecreatefromstring(). Inilah cara untuk menyimpan imej yang dikodkan oleh Base64:

<?php
$image_data = base64_decode($image_data_base64);
$img = imagecreatefromstring($image_data);

imagejpeg($img, 'profile.jpg');
imagedestroy($img);
?>

Decodes The Base64 String, mencipta sumber imej, dan menyelamatkannya sebagai JPEG.

Menambah Watermarks

watermarking mudah dicapai dengan GD. Ini meningkatkan pemilikan imej dan pengiktirafan jenama.

<?php
$im_php = imagecreatefromjpeg('waterfall.jpg');
$watermark = imagecreatefrompng('watermark.png');
$im_width = imagesx($im_php);
$im_height = imagesy($im_php);

$watermark = imagescale($watermark, $im_width/5);
$wt_width = imagesx($watermark);
$wt_height = imagesy($watermark);

imagecopy($im_php, $watermark, 0.95*$im_width - $wt_width, 0.95*$im_height - $wt_height, 0, 0, $wt_width, $wt_height);

$new_name = 'waterfall-watermark.jpg';
imagejpeg($im_php, $new_name);
?>

Kod ini memuatkan imej utama dan watermark, menonjolkan watermark ke satu perlima lebar imej utama, dan meletakkannya menggunakan imagecopy(). Saiz semula watermark dinamik memastikan skala yang betul tanpa mengira dimensi imej utama.

Resize and Manipulate Images in PHP (With Examples)

Beyond Watermarks, metadata seperti lokasi atau cap waktu boleh juga diperbadankan.

Kesimpulan

Tutorial ini berkembang pada fungsi GD sebelumnya, menunjukkan teknik canggih. Kami meliputi manipulasi aliran dan tanda air, menawarkan aplikasi praktikal untuk pemprosesan imej dalam PHP. Eksperimen dengan fungsi ini untuk menghasilkan kesan imej yang pelbagai.

Atas ialah kandungan terperinci Saiz semula dan memanipulasi imej dalam PHP (dengan contoh). 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
Artikel sebelumnya:Cara menyusun susunan dalam phpArtikel seterusnya:Cara menyusun susunan dalam php