Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[发布] 根据图片大小调整水印类型

[复制链接]
mefhxy 发表于 2007-7-19 03:37:04 | 显示全部楼层 |阅读模式
这个是我在其他网站看到的。。。为了防止忘记,特地收藏。。。这个东西对大家应该有些帮助。。。这个东西不错,我又学到了点东西。。。呵呵~~

作者:FD-VIP-晶莹雪花

修改include/post.func.php
找:
  1. $watermark_file = './images/common/watermark.gif';
复制代码


下加:
  1. $watermark_file_small = './images/common/watermark_small.gif';  //小图片水印文件的文件名
复制代码


找:
  1. if($watermarkstatus && in_array($attach['ext'], array('jpg', 'jpeg', 'gif', 'png')) && function_exists('getimagesize') && function_exists('imageCreateFromJPEG') && function_exists('imageCreateFromPNG') && function_exists('imageCopyMerge')) {
  2.                                         $attachinfo        = getimagesize($target);
  3.                                         $watermark_logo = imageCreateFromGIF($watermark_file);
  4.                                         $logo_w                = imageSX($watermark_logo);
  5.                                         $logo_h                = imageSY($watermark_logo);
  6.                                         $img_w                = $attachinfo[0];
  7.                                         $img_h                = $attachinfo[1];
  8.                                         $wmwidth        = $img_w - $logo_w;
  9.                                         $wmheight        = $img_h - $logo_h;
复制代码


替换为:
  1. if($watermarkstatus && in_array($attach['ext'], array('jpg', 'jpeg', 'gif', 'png')) && function_exists('getimagesize') && function_exists('imageCreateFromJPEG') && function_exists('imageCreateFromPNG') && function_exists('imageCopyMerge')) {
  2.                                         $attachinfo = getimagesize($target);
  3.                                         $img_w      = $attachinfo[0];
  4.                                         $img_h      = $attachinfo[1];
  5.                                         if($img_w >800 && $img_h>600){
  6.                                         $watermark_logo = @imageCreateFromGIF($watermark_file);
  7.                                          }else{
  8.                                         $watermark_logo = @imageCreateFromGIF($watermark_file_small);
  9.                                         }
  10.                                         $logo_w     = imageSX($watermark_logo);
  11.                                         $logo_h     = imageSY($watermark_logo);
  12.                                        
  13.                                         $wmwidth    = $img_w - $logo_w;
  14.                                         $wmheight   = $img_h - $logo_h;
复制代码


其中,
  1. if($img_w >800 && $img_h>600)
复制代码
为图片大小判断条件,我这里设置的是当宽度大小800并且高度大小600时,根据实际情况来改

制作两个水印图片:watermark.gif ,大图片的水印,这里是当宽度大小800并且高度大小600时使用的水印图
watermark_small.gif,小图片水印
然后把这两个文件上传到images/common目录下,完

[ 本帖最后由 mefhxy 于 2007-7-20 05:20 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

HY清风 发表于 2007-7-19 08:26:39 | 显示全部楼层
这个有点意思!
~~~~~~~~~~
回复

使用道具 举报

 楼主| mefhxy 发表于 2007-7-19 19:46:39 | 显示全部楼层
每人感兴趣?
回复

使用道具 举报

luhui23 发表于 2007-7-19 20:30:12 | 显示全部楼层
:) :) :)
回复

使用道具 举报

CoolKa 发表于 2007-7-19 20:33:46 | 显示全部楼层
这个很使用
这样可以
大图片使用大水印
小图片就用小水印
自动识别
回复

使用道具 举报

tyiweb 发表于 2007-7-20 03:35:26 | 显示全部楼层
不错 很实用 谢谢!!!!!!!!!!!!
回复

使用道具 举报

﹎混江龍﹖ 发表于 2007-7-20 03:44:11 | 显示全部楼层
又是要该代码的  不喜欢.
回复

使用道具 举报

lizurj 发表于 2007-7-22 15:45:59 | 显示全部楼层
不是不实用,而是找不到你说的代码!!!不知道你用的是什么版本?
回复

使用道具 举报

 楼主| mefhxy 发表于 2007-7-22 19:37:33 | 显示全部楼层
这个是5.0的。仅供参考。
回复

使用道具 举报

adicom 发表于 2007-7-22 19:44:44 | 显示全部楼层
麻烦给个5.5的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-23 06:27 , Processed in 0.106936 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表