首頁 >後端開發 >php教程 >調整大小和操縱PHP的圖像(示例)

調整大小和操縱PHP的圖像(示例)

William Shakespeare
William Shakespeare原創
2025-03-03 09:52:11404瀏覽

本教程擴展了基本的PHP GD圖像操縱,建立在圖像加載,裁剪,旋轉,縮放和翻轉的先前覆蓋範圍內。 我們將探索高級技術,例如捕獲圖像輸出流和嵌入水印。 以前,我們檢查了圖像輸出的

>。 我們可以使用imagejpeg()之類的函數捕獲此輸出。 例如,沒有文件名參數輸出原始流; imagegif()捕獲此流。 然後可以將此原始數據編碼為基礎64。 相反,可以將基本64編碼的圖像字符串解碼並通過imagecreatefromjpeg()來創建圖像。 這是保存base64編碼圖像的方法:imagejpeg()> ob_get_contents() imagecreatefromstring()這將解碼base64字符串,創建圖像資源並將其保存為JPEG。

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

imagejpeg($img, 'profile.jpg');
imagedestroy($img);
?>
添加水印

GD可以很容易地實現水印。 這增強了圖像所有權和品牌認可。

此代碼加載主圖像和水印,將水印縮放到主圖像的寬度五分之一,並使用

定位。 動態水印調整大小可確保不論主圖像的尺寸如何

<?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);
?>

超出水印,元數據(例如位置或時間戳)可以類似地合併。 imagecopy()

結論

Resize and Manipulate Images in PHP (With Examples)

本教程擴展了先前的GD函數,展示了高級技術。 我們涵蓋了溪流操作和水印,為PHP中的圖像處理提供了實用的應用。嘗試這些功能以創造各種圖像效應。

以上是調整大小和操縱PHP的圖像(示例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn