PHP实例程序:实现给上传图片加水印图案的做法总结

    作者:课课家更新于: 2015-11-11 08:16:57

    大神带你学编程,欢迎选课

     

    今天小编带领大家一起学习有关编程语言的知识,让我们一起感受知识的力量
    c语言编程以下为引用的内容:
    PHP_SELF']?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
                                                                        
    上传图片
     

                                                                                                 
    路径:

                   
      

             

           
     
     
     
     





    if($_POST['action']=='doup')
    {
    $uptypes=array('image/jpg','image/jpeg','image/pjpeg','image/gif');//上传图片文件类型列表
    $wFile=$_FILES['upfile'];//取得文件路径
    $waterimg="water.gif";//水印图片路径
    //print_r($wFile);
    if(in_array($wFile['type'], $uptypes))
    {//C语言教程检查文件类型,若上传的文件为jpg或gif图片则加水印
       if(strstr($wFile['type'],"jp"))
        { //若上传图片类型为jpg,pjpeg,jpeg,则用imagecreatefromjpeg读取目标文件
        $im = imageCreatefromjpeg($wFile['tmp_name']);
    $wfilew=imagesx($im);//取得图片的宽
    $wfileh=imagesy($im);//取得图片的高
       }


    "我从事编程语言统计很多年了,有大量的数据来源包括代码存储库、Q&A讨论、招聘广告、社交媒体情况、教程页面访问、学习视频视图、开发者调查等等。数据发表在不同的时间,都可以被认为是精确的,
    也可以被认为是有缺陷的,但是它们可以用于发现行业趋势。最后,不要期望一夜之间就变成一个编码忍者。有些人有一种天然的能力,但也是花了很多很多时间来磨练他们的技能,不断的学习新的技术和技巧。"
    在过去三年中 XML 经历了许多反复,所以目前存在不同版本的 Microsoft XML 分析器也不奇怪。Internet Explorer 4.0 包含早期版本的 XML 分析器,它比 XSL、XML 数据或者大多数其他的 XML 技术(并且有完全不同的 DOM 模型)要早。该早期版本的分析器包含在 MSXML.dll 库中。从 MSDN XML 开发人员中心(英文)可将分析器升级到较新的一种。
      我们极力建议您升级到新的分析器,因为它要强大得多。Internet Explorer 5.0 包括 MSXML 2.0 分析器,它包含 XSL 和 XML 架构的基本版本。MSXML2 是 SQL Server 2000 附带的分析器版本。MSXML2 包含了许多性能增强的功能,并且在总体上提高了性能和可伸缩性。MSXML3 是当前作为“技术预览”附带的版本。MSXML3 包括 XSLT 和 XPath 支持以及 SAX 接口。

       else
        {//否则若上传图片类型为gif,则用imagecreatefromgif读取目标文件
        $im = imageCreatefromgif($wFile['tmp_name']);
    $wfilew=imagesx($im);//取得图片的宽
    $wfileh=imagesy($im);//取得图片的高
    }
       //设定混合模式
        imagealphablending($im, true);
        //读取水印文件
        $im2 = imagecreatefrompng($waterimg);//若水印图片为jpg,则此去可改为$im2 = imagecreatefromjpeg($waterimg)
     //$white = imagecolorallocate($im2, 255, 255, 255);
      // imagecolortransparent($im2,$white);   //设透明色,这两句可不要
    $waterw=imagesx($im2);//取得水印图片的宽
    $waterh=imagesy($im2);//取得水印图片的高
        //随机放水印到图片中
    $randval = rand(0,9);//在0-9之间产生随机数
    if($randval==0||$randval==3||$randval==2||$randval==8||$randval==7){//此处还可完善放更多位置
    $wimgx=5;$wimgy=5;//放左上角
    }else{
    $wimgx=$wfilew-5-$waterw;$wimgy=$wfileh-5-$waterh;//放右上角
    }
    //c语言编程入门拷贝水印到目标文件
    imagecopy($im, $im2, $wimgx, $wimgy, 0, 0, $waterw,$waterh);
       
    //输出图片
       if(strstr($wFile['type'],"jp")){ //同上
    imagejpeg($im,$wFile['tmp_name']);
    }else{
    imagegif($im,$wFile['tmp_name']);
    }
        imagedestroy($im);
        imagedestroy($im2);
    copy($wFile['tmp_name'],$wFile['name']);  //上传
    }
    else echo "图片不符合!!";
    }
    ?>

    看完小编的文章是不是很精彩,更多关于在线教育的文章尽在课课家,希望你们多多关注。

课课家教育

未登录

1