簡體   English   中英

PHP中的水印在所有圖像上都不統一

[英]watermark in php is not uniform on all images

我試圖在PHP以編程方式在圖像上創建watermark 圖像由users上傳,並且可以具有不同的尺寸。 我正在創建watermark是這樣的:

$stamp = imagecreatefrompng('stamp381x387.png');
$ext = substr(strrchr($_GET['src'], '.'), 1);

if ($ext == 'png') {
    $im = imagecreatefrompng($_GET['src']);
} else if ($ext == 'jpg') {
    $im = imagecreatefromjpeg($_GET['src']);
}

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 0;
$marge_bottom = 0;
$sx = imagesx($stamp); //width
$sy = imagesy($stamp); //height
// Copy the stamp image onto our photo using the margin offsets and the photo 
// width to calculate positioning of the stamp. 
imagecopy($im, $stamp, (imagesx($im) - $sx ) / 2, (imagesy($im) - $sy) / 2, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory

if ($ext == 'png') {
    header('Content-type: image/png');
    imagejpeg($im);
    imagedestroy($im);
} else if ($ext == 'jpg') {
    header('Content-type: image/jpeg');
    imagejpeg($im);
    imagedestroy($im);
}

現在,它會在圖像上創建水印,但圖像並不統一。 請參閱附件圖像。 在此處輸入圖片說明

在此處輸入圖片說明

如何使其在所有images上均勻? 有什么幫助嗎?

imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

這是一個使用PHP在圖像上添加水印的好例子-http: //php.net/manual/en/image.examples-watermark.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM