php 上传图片 添加水印,上传图片添加水印?该怎么解决

上传图片添加水印???

上传图片添加水印???

搞了个上传图片的函数(经过测试可以上传图片,这个没有问题)

现在想上传图片时添加水印图片(一个小gif)

上传图片时,网页提示函数imagecopymerge()报错,不知道哪里出了问题,大家帮我看看

上传图片函数代码:

PHP code/*

$files为上传的图片文件

$folder为上传图片的文件夹

*/

function uploads($files,$folder)

{

//取得图片的后缀名

$knamearray=explode(".",$_FILES["upfile"]["name"]);

$kname=$knamearray[count($knamearray)-1];

//设置图片文件名为系统时间

$filename=date('YmdHis');

$filenames=$filename.$code.".".$kname;

$upfile=$folder."/".$filenames;

//上传图片

move_uploaded_file($files,$upfile);

//添加水印图片开始了……

$im=imagecreatefromgif("wimages/logo.gif"); //logo.gif图片的尺寸为120*45

imagecopymerge($upfile,$im,0,0,0,0,120,45,80); //现在提示这句有问题。。。

return $filenames;//回传图片文件名

}

------解决方案--------------------

$im=imagecreatefromgif("wimages/logo.gif"); //logo.gif图片的尺寸为120*45

最好把路径换成相对的路径;

imagecopymerge($upfile,$im,0,0,0,0,120,45,80); //现在提示这句有问题。。。

楼主能不能帮我解释一下imagecopymerge的各个参数的意义啊

------解决方案--------------------

探讨

$im=imagecreatefromgif("wimages/logo.gif"); //logo.gif图片的尺寸为120*45

最好把路径换成相对的路径;

imagecopymerge($upfile,$im,0,0,0,0,120,45,80); //现在提示这句有问题。。。

楼主能不能帮我解释一下imagecopymerge的各个参数的意义啊

------解决方案--------------------

可以这样写:

$descrition ="/upload/imag_1123323.jpg";//这个是要加水印图片的路径和文件名;

$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);//创建新建一个真彩色图像

//$image_size为要加水印的图片大小信息的数组;

$simage=imagecreatefromgif($destination); //把要加水印的图片已gif格式读入;

imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);

//把要加水印的拷贝到创建的真彩色图像上;

imagedestroy($simage); //销毁

$simage1 = imagecreatefromgif("wimages/logo.gif")// 这个路径估计要弄对

//把水印图片读入

imagecopy($nimage,$simage1,0,0,0,0,85,15); //把水印也拷贝到上面;

imagejpeg($nimage,$descrtion); //把三个图片叠加得到的新图片保存为原来没有水印的图片

imagedestroy($nimage); //销毁

imagedestroy($simage);

------解决方案--------------------

最近我用网上的来修改,弄了一个,做成类,,

用这个类,可以做出多张图片上传。。。。

PHP codeclass upimg{  //该类用来实现上传$uptypes数组内类型的图片,可以通过setWaterMark()启用设置水印

/**

*

* 则在图片上加水印;

* 外部通过访问$msg ,$img_width, $img_height ,$save_dir,$img_size变量

* 获取图片在上传过程中出现的错误,和图片上传后保存的路径,图片大小等信息;

*/

private $uptypes = array('image/gif','image/jpg','image/jpeg','image/png','image/pjpeg');//'image/bmp','image/x-png');

private $max_file_size = 200000;

private $dir_folder = "../imageupload/";

private $water_mark = 1;

private $water_type = 1;

private $water_str = "http://www.516ya.cn";

private $water_img = "xplore.gif";

private $create_water= false;

private $overwrite = false;

public $msg="";

public $img_width=0;

public $img_height=0;

public $save_dir="";

public $img_size=0;

public $sucess =false;

function setWaterMark(){

$this->create_water = true;

}

function startUpload($files){

if(!is_uploaded_file($files['tmp_name']))

{

$this->msg.="图片不存在!--";

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值