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
Lepaskan: 2025-03-03 09:52:11
asal
404 orang telah melayarinya

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

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

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 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan