zoukankan      html  css  js  c++  java
  • 九个不同位置的水印图片 要调数字 变化图片位置

    <?php
    $create_func_list=array(
    'image/jpeg'=>'imagecreatefromjpeg',
    'image/png'=>'imagecreatefrompng',
    'image/gif'=>'imagecreatefromgif',
     );
    $out_func_list=array(
    'image/jpeg'=>'imagejpeg',
    'image/png'=>'imagepng',
    'image/gif'=>'imagegif',
     );


    //画布的创建
    $dst_file='./src.jpg';
    $dst_info=getimagesize($dst_file);//获取文件额详细信息
    $dst_create_func=$create_func_list[$dst_info['mime']];//这个是获取上面数组中的调用方式,也就是当不同的图片又不痛的出来方式
    $dst_img=$dst_create_func($dst_file);//这个是传近的事jpg格式的文件用jpg的方式去使用
    //索要用到的刻印图案
    $stamp_file='./stamp.jpg';
    $stamp_img=imagecreatefromjpeg($stamp_file);//创建一个已有的新图像

    //采集
    $stamp_area_x=0;
    $stamp_area_y=0;
    $stamp_area_w=$stamp_w=imagesx($stamp_img);
    $stamp_area_h=$stamp_h=imagesy($stamp_img);
    $pos=isset($_POST['pos'])?$_GET['pos']:7;//这个是标志要选哪个

    //增加水印的宽高
    $dst_w=imagesx($dst_img);
    $dst_h=imagesy($dst_img);

    switch ($pos) {
     case 1:
      $dst_area_x=0;
      $dst_area_y=0;//这个是默认的页面加载的第一个
      break;
     case 2:
      $dst_area_x=($dst_w-$stamp_w)/2;//中间
      $dst_area_y=0;
     break;
     case 3:
      $dst_area_x=$dst_w-$stamp_w;
      $dst_area_y=0;
     break;
     case 4:
      $dst_area_x=0;
      $dst_area_y=($dst_h-$stamp_h)/2;
     break;
     case 5:
      $dst_area_x=($dst_w-$stamp_w)/2;
      $dst_area_y=($dst_h-$stamp_h)/2;
     break;
     case 6:
      $dst_area_x=$dst_w-$stamp_w;
      $dst_area_y=($dst_h-$stamp_h)/2;
     break;
     case 7:
      $dst_area_x=0;
      $dst_area_y=$dst_h-$stamp_h;
     break;
     case 8:
      $dst_area_x=($dst_w-$stamp_w)/2;
      $dst_area_y=$dst_h-$stamp_h;
     break;
     case 9:
      $dst_area_x=$dst_w-$stamp_w;
      $dst_area_y=$dst_h-$stamp_h;
     break;
     default:
      # code...
      break;
    }
    $pct = 70;
    imagecopymerge($dst_img, $stamp_img, $dst_area_x, $dst_area_y, $stamp_area_x, $stamp_area_y, $stamp_area_w, $stamp_area_h, $pct);

    //输出,销毁
    header('Content-Type: image/jpeg');
    imagejpeg($dst_img);

    imagedestroy($dst_img);
    imagedestroy($stamp_img);

  • 相关阅读:
    HUD 1284 钱币兑换问题
    HUD 1284 钱币兑换问题
    HDU 1283 最简单的计算机
    HDU 1283 最简单的计算机
    商品搜索引擎---推荐系统设计
    Spark机器学习:TF-IDF实例讲解
    【读书笔记】Elasticsearch集成Hadoop最佳实践
    Java面试题集合
    Spring Boot企业微信点餐系统-第一章-课程介绍
    Eclipse下svn的创建分支/合并/切换使用
  • 原文地址:https://www.cnblogs.com/love1226/p/4502265.html
Copyright © 2011-2022 走看看