zoukankan      html  css  js  c++  java
  • PHP图形图像的典型应用 简单图像的应用(水印)

    php使用图像要用到GD或GD2库。才行。如果要高级的图形形状,还可以下载JPgraph类库它是完全由php语言写的。当然也是基于GD/GD2库的

    1、创建一个简单的图像

    <?php
        /*在图像输出前,不能有html元素输出*/
        header("Content-type:image/jpeg"); //这里要设置一下头信息、告诉页面以什么方式呈现。否则直接输出图像会乱码
        /* ---------------例 12.1 创建一个简单的普通的图像 ---------------- */
        $im = imagecreate(200,60);  //创建一个画布
        $white = imagecolorallocate($im,255,66,159);
        imagegif($im);
    ?>
    View Code

    2、在照片上添加文字(文字水印)

    <?php
        /* ----------------- 例 12.2 在照片上添加文字。可以是水印 -------------------*/
        header("Content-type:image/jpeg"); //这里要设置一下头信息、告诉页面以什么方式呈现。否则直接输
        $im = imagecreatefromjpeg("images/123.jpg");  //载入图片
        $textcolor = imagecolorallocate($im,56,73,136);  //设置字体颜色为蓝色,值为RGB颜色值
        $fnt = "c:/windows/fonts/simhei.ttf"; //定义字体
        
        /* 
            这里关于转不转的问题,原理我还没弄明白。但是有一个判断的方法:
            charset=utf-8, 如果html页面的指定显示编码为utf-8的话,那么中文字就不需要用iconv转。如果是那种
            gb2312的编码就必须转utf-8 。因为在php中GD2这个图形库对中文的支持只认识utf-8的编码.
        */
        
        //$motto = iconv("gb2312","utf-8","长白山天池"); //定义输出字体串
        $motto = "长白山天池";
        imagettftext($im,50,0,20,150,$textcolor,$fnt,$motto); //写ttf文字到图形中
        imagejpeg($im);  //建立jpeg图形
        imagedestroy($im); //结束图形,释放内存空间
    ?>
    View Code

    3、图片水印

    <?php
        /* ---------------- 图片水印 ----------- */
        header("Content-type:image/jpeg"); //这里要设置一下头信息、告诉页面以什么方式呈现。否则直接输
        $im = imagecreatefromjpeg("images/123.jpg"); //载入背景图
        $iml = imagecreatefromjpeg("images/321.jpg"); //载入背景图
        $imarr = getimagesize("images/321.jpg");  //获取图片的大小类型等信息。具体返回请查阅php帮助手册
        imagecopy($im,$iml,20,150,0,0,$imarr[0],$imarr[1]); //将一张图片复制到一张图片上,具体请看php手册
        imagejpeg($im);
        imagedestroy($im); //结束图像,释放内存空间
    ?>
    View Code
  • 相关阅读:
    python基础学习文件内容的操作
    python基础学习字符串操作
    python基础学习运算符
    python基础学习列表
    centos一键安装nginx
    centos6添加整段多IP脚本
    Ubuntu 添加整段多IP脚本
    安装python2.7
    两位float型的小数相加,不会变成两位小时的处理方法
    mysql 5.7 执行group by 语句报错
  • 原文地址:https://www.cnblogs.com/clouds008/p/3131952.html
Copyright © 2011-2022 走看看