php在图片左上角加入水印,如何在PHP中将图像添加到图像上,如水印

我正在尝试编写一个小的PHP函数来拍摄图像并在图像上应用水印类型图像并将它们保存为1个图像,此代码运行时出现0错误但不应用水印图像,有什么明显的那说明为什么不会呢?

$source_file_path ='http://cache2.mycrib.net/images/image_group92/0/43/653807d5727a46498180e8ef57fdf7819b2b0c.jpg';

$watermark_image='fpwatermark.gif'; // the watermark image

$destination_image ='coooolgif.gif'; // where to save new file

$imagesize = getimagesize($destination_image);

$watermarksize = getimagesize($watermark_image);

$watermark_x = $imagesize[0] - $watermarksize[0] - 2;

$watermark_y = $imagesize[1] - $watermarksize[1] - 2;

//run function

watermark_img($watermark_image, $destination_image, $watermark_x, $watermark_y, $watermark_w, $watermarksize[0], $watermarksize[1], $source_file_path);

function watermark_img($watermark_src, $image_src, $watermark_x, $watermark_y, $watermark_w,$watermark_h, $source_file_path) {

//Determine what type of image we're working with

list($width, $height, $type) = getimagesize($image_src);

$image_ext = $type;

switch (strtolower($image_ext)) {

#gif

case 1:

$image = imagecreatefromgif($image_src);

break;

#jpg

case 2:

$image = imagecreatefromjpeg($image_src);

imageAlphaBlending($image, true);

break;

#png

case 3:

$image = imagecreatefrompng($image_src);

imageAlphaBlending($image, true);

break;

default:

return false;

}

//Create an instance of the watermark in memory

if (!($watermark = imagecreatefromgif($watermark_src)))

return false; //Make sure your Watermark is a GIF

//Add watermark to the image

if (!(imagecopy($image, $watermark, $watermark_x, $watermark_y, 0, 0, $watermark_w,

$watermark_h)))

return false;

//Resave the image with the watermark now in place

if (!(imagejpeg($image, $image_src)))

return false;

//Destroy instaces of images to free up RAM

imagedestroy($image);

imagedestroy($watermark);

//Apparently everything went well.

return $image_ext;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值