PHP中图像外部的水印?
我想上传一个图像,然后自动添加一个水印(文本或图像),但不是在图像上,我希望它在图像之外,我如何用PHP做到这一点?同时,如果图像太小,则调整水印以始终正确匹配 请看下面的图片,看看我的意思和期望的结果 原始图像: 上传图像:PHP中图像外部的水印?,php,watermark,Php,Watermark,我想上传一个图像,然后自动添加一个水印(文本或图像),但不是在图像上,我希望它在图像之外,我如何用PHP做到这一点?同时,如果图像太小,则调整水印以始终正确匹配 请看下面的图片,看看我的意思和期望的结果 原始图像: 上传图像: 同一张图像,但最后一张图像上有水印。这在确定文本位置方面不是最自动化的(您可以这样做),但这是一个开始: <?php function create_cartoon($settings=false) { $img
同一张图像,但最后一张图像上有水印。这在确定文本位置方面不是最自动化的(您可以这样做),但这是一个开始:
<?php
function create_cartoon($settings=false)
{
$img = (isset($settings['img']) && !empty($settings['img']))? $settings['img']:false;
$txt = (isset($settings['text']) && !empty($settings['text']))? $settings['text']:'www.lunarbaboon.com';
$offset = (isset($settings['offset']) && !empty($settings['offset']))? $settings['offset']:12;
if($img == false)
return;
header('Content-Type: image/jpeg');
$mime = getimagesize($img);
$or_w = $mime[0];
$or_h = $mime[1];
$type = $mime['mime'];
switch ($type) {
case ('image/png') :
$im = imagecreatefrompng($img);
break;
case ('image/gif') :
$im = imagecreatefromgif($img);
break;
default :
$im = imagecreatefromjpeg($img);
}
$layer1 = imagecreatetruecolor($or_w,($or_h+30));
$bkg1 = imagecolorallocate($layer1,255,255,255);
$layer1s = getimagesize($layer1);
imagecopy($layer1,$im,0,0,$layer1s[0],$layer1s[1],$or_w,$or_h);
imagefilledrectangle($layer1,0,$or_h,$or_w,$or_h+30,$bkg1);
$text_color = imagecolorallocate($layer1, 100, 100, 100);
imagestring($layer1, 8, $offset, $or_h+5, $txt, $text_color);
imagejpeg($layer1);
imagedestroy($img);
imagedestroy($layer1);
}
// To use
create_cartoon(array('img'=>'http://i.stack.imgur.com/SSFEL.png','offset'=>114));
?>
那么您尝试了什么?