php中的文本水印

时间:2015-01-01 21:39:03

标签: php html watermark

我正在制作一个页面,您可以在其中上传图片。 我需要知道的是,当您上传图像时添加了文本水印,您应该能够插入一个文本,该文本将以水印显示。

这是我的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>

我找了一会儿,但没找到任何我能正确理解的教程

2 个答案:

答案 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);