首页 / PHP / 上传图片添加水印?该怎么解决
上传图片添加水印?该怎么解决
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了上传图片添加水印?该怎么解决,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3272字,纯文字阅读大概需要5分钟。
内容图文
![上传图片添加水印?该怎么解决](/upload/InfoBanner/zyjiaocheng/212/63dcd6a0a6064e4e93ca6cef50c5ac2d.jpg)
上传图片添加水印???
搞了个上传图片的函数(经过测试可以上传图片,这个没有问题)
现在想上传图片时添加水印图片(一个小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的各个参数的意义啊
------解决方案--------------------
------解决方案--------------------
可以这样写:
$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 code
class 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.="图片不存在!--";
内容总结
以上是互联网集市为您收集整理的上传图片添加水印?该怎么解决全部内容,希望文章能够帮你解决上传图片添加水印?该怎么解决所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。