示例#1
0
 //下载图片
 $filename = 'qqhead.jpg';
 $url = $_POST['head'];
 getImg($url, $filename);
 if (file_exists('qqhead.jpg')) {
     //头像下载回来继续处理
     $b = imagettfbbox(14, 0, "upload/fangzheng.ttf", $_POST['nickname']);
     //文字宽度
     $w = abs($b[2] - $b[0]);
     $t = new ThumbHandler();
     $t->setSrcImg("images/show.jpg");
     $t->setDstImg("out.jpg");
     $t->setMaskImg("qqhead.jpg");
     $t->setMaskOffsetX(($t->src_w + $w) / 2 + 20);
     $t->setMaskOffsetY($t->src_h - 150);
     $t->setMaskImgPct(100);
     $t->createImg(100);
     // 指定缩放比例
     // 第二个水印 名字
     $t2 = new ThumbHandler();
     $t2->setSrcImg(dirname(__FILE__) . '/' . 'out.jpg');
     $t2->setMaskFont("upload/fangzheng.ttf");
     $t2->setMaskFontSize(16);
     $t2->setMaskFontColor("#1A6BE6");
     $t2->setMaskTxtPct(20);
     $t2->setDstImg(dirname(__FILE__) . '/' . 'out.jpg');
     $t2->setMaskOffsetX(($t->src_w - $w) / 2);
     $t2->setMaskOffsetY($t2->src_h + $t2->font_h - 150);
     $t2->setMaskWord($_POST['nickname']);
     $t2->createImg(100);
     //循环处理字体
示例#2
0
 function watermark($pic_path, $options = array())
 {
     $sys_config = jconf::get();
     if (!$sys_config['watermark_enable']) {
         return false;
     }
     if (!is_image($pic_path)) {
         return false;
     }
     $ims = @getimagesize($pic_path);
     if (in_array($ims['mime'], array('image/gif'))) {
         return false;
     }
     $new_pic_path = $options['new_pic_path'];
     if ('' == $new_pic_path) {
         $new_pic_path = $pic_path;
     }
     $image_quality = (int) $options['image_thumb_quality'];
     if ($image_quality < 1 || $image_quality > 100) {
         $image_quality = 100;
     }
     require_once ROOT_PATH . 'include/ext/thumb.class.php';
     $_thumb = new ThumbHandler();
     $_thumb->setSrcImg($pic_path);
     $_thumb->setDstImg($new_pic_path);
     $_thumb->setImgCreateQuality($image_quality);
     $_thumb->setMaskPosition($sys_config['watermark_position']);
     $_thumb->setMaskFontColor($sys_config['watermark_contents_color']);
     $_thumb->setMaskFontSize(max((int) $sys_config['watermark_contents_size'], 12));
     $watermark = $options['watermark'];
     if ('' == trim($watermark)) {
         $member_info = $options['member_info'];
         if (!$member_info) {
             $uid = (int) $options['uid'];
             $member_info = $uid > 0 ? jsg_member_info($uid) : array();
         }
         $username = $member_info['username'] ? $member_info['username'] : MEMBER_NAME;
         $nickname = $member_info['nickname'] ? $member_info['nickname'] : MEMBER_NICKNAME;
         if ($sys_config['watermark_contents'] && is_array($sys_config['watermark_contents'])) {
             if (in_array('nickname', $sys_config['watermark_contents']) && in_array('url', $sys_config['watermark_contents'])) {
                 $_thumb->setMaskOffsetY(40);
                 $_thumb->setMaskWord($sys_config['site_url'] . "/" . $username);
                 $_thumb->createImg(100);
                 $_thumb->setMaskOffsetY(10);
                 $options['watermark'] = '@' . $nickname;
                 return $this->watermark($pic_path, $options);
             } else {
                 if (in_array('nickname', $sys_config['watermark_contents'])) {
                     $watermark = '@' . $nickname;
                 } else {
                     $watermark = $sys_config['site_url'] . "/" . $username;
                 }
             }
         } else {
             $watermark = $sys_config['site_url'] . "/" . $username;
         }
     }
     if (is_file($watermark)) {
         $_thumb->setMaskImgPct(100);
         $_thumb->setMaskImg($watermark);
     } else {
         $mask_word = (string) $watermark;
         if ($sys_config['watermark_contents'] && in_array('nickname', $sys_config['watermark_contents']) && is_file(RELATIVE_ROOT_PATH . 'images/jsg.ttf')) {
             $_thumb->setMaskFont(RELATIVE_ROOT_PATH . 'images/jsg.ttf');
             $mask_word = array_iconv($sys_config['charset'], 'utf-8', $mask_word);
         } elseif (preg_match('~[\\x7f-\\xff][\\x7f-\\xff]~', $mask_word)) {
             $mask_word = $sys_config['site_url'];
         }
         $_thumb->setMaskWord($mask_word);
     }
     return $_thumb->createImg(100);
 }