我正在制作一个页面,您可以在其中上传图片。 我需要知道的是,当您上传图像时添加了文本水印,您应该能够插入一个文本,该文本将以水印显示。
这是我的php
$location = '/usr/local/apache/htdocs/images/'.$_FILES['file']['name'];
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
if (!move_uploaded_file($_FILES['file']['tmp_name'], $location)) {
echo 'you cant copy your file';
exit;
} else {
echo 'you uploaded correctly<br><br>';
exit;
}
exit;
}
和那个html
<input type="file" name="file" /><br />
<input type="submit" value="Send" /> <br/>
</form>
我找了一会儿,但没找到任何我能正确理解的教程
答案 0 :(得分:1)
我建议你使用&#39; Imagick#39;扩展,你可以使用它:
<?php
// Open the original image
$image = new Imagick();
$image->readImage("/path/to/image.jpg");
// Open the watermark
$watermark = new Imagick();
$watermark->readImage("/path/to/watermark.png");
// Overlay the watermark on the original image
$image->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0);
// send the result to the browser
header("Content-Type: image/" . $image->getImageFormat());
echo $image;
答案 1 :(得分:0)
试试这个:
php中的文字水印
$imagetobewatermark=imagecreatefrompng("images/muggu.png");
$font="../font/century gothic.ttf";
$fontsize="15";
$watermarktext="Muggu"; // text to be printed on image
$white = imagecolorallocate($imagetobewatermark, 255, 255, 255);
imagettftext($imagetobewatermark, $fontsize, 0, 20, 10, $white, $font, $watermarktext);
header("Content-type:image/png");
imagepng($imagetobewatermark);
imagedestroy($imagetobewatermark);