Hello,

This mod automatically watermark all uploaded photos.

Price: FREE, enjoy.

You will have to edit 3 files:

1. ../classes/image.class.php - watermark function.
2. ../modules/upload/photo.php - when upload photos from upload page.
3. ../modules/album/addphotos.php - when add photos to existing album.
---------------------------------------------

1. In "../classes/images.class.php" find (~ line 195):

public function watermark()
{
}

and replace with:

	public function watermark($SourceFile, $WatermarkFile, $SaveToFile = NULL)
{
$watermark = @imagecreatefrompng($WatermarkFile)
or exit('Cannot open the watermark file.');
imageAlphaBlending($watermark, false);
imageSaveAlpha($watermark, true);
$image_string = @file_get_contents($SourceFile)
or exit('Cannot open image file.');
$image = @imagecreatefromstring($image_string)
or exit('Not a valid image format.');
$imageWidth=imageSX($image);
$imageHeight=imageSY($image);
$watermarkWidth=imageSX($watermark);
$watermarkHeight=imageSY($watermark);
$coordinate_X = ( $imageWidth - 5) - ( $watermarkWidth);
$coordinate_Y = ( $imageHeight - 5) - ( $watermarkHeight);
imagecopy($image, $watermark, $coordinate_X, $coordinate_Y, 0, 0, $watermarkWidth, $watermarkHeight);
if(!($SaveToFile)) header('Content-Type: image/jpeg');
imagejpeg ($image, $SaveToFile);
imagedestroy($image);
imagedestroy($watermark);
if(!($SaveToFile)) exit;
}

2. In "../modules/upload/photo.php" find (~ line 90):

    $dst        = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);

and after "$image->resize(true, true);" insert this:

	$image_location = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg'; 
// Locate the watermark file wherever you choose (remember PNG format). I put in ../media/photos/watermark.png
$watermark_location = $config['BASE_DIR']. '/media/photos/watermark.png';
$save_watermarked_file_to = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->watermark($image_location, $watermark_location, $save_watermarked_file_to);

3. In "../modules/album/addphotos.php" find (~ line 40):

    $dst            = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);

and like the previous after "$image->resize(true, true);" insert this:

	$image_location = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg'; 
// Locate the watermark file wherever you choose (remember PNG format). I put in ../media/photos/watermark.png
$watermark_location = $config['BASE_DIR']. '/media/photos/watermark.png';
$save_watermarked_file_to = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->watermark($image_location, $watermark_location, $save_watermarked_file_to);

!!! ++$photos; must be below the pasted code.

There is screens from thats files after mods.

image.class.php

1. ../classes/image.class.php - watermark function.
i did a copy

2. ../modules/upload/photo.php - when upload photos from upload page.

    $image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);
$dst = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);
$image_location = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
// Locate the watermark file wherever you choose (remember PNG format). I put in ../media/photos/watermark.png
$watermark_location = $config['BASE_DIR']. '/media/photos/watermark.png';
$save_watermarked_file_to = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->watermark($image_location, $watermark_location, $save_watermarked_file_to);

3. ../modules/album/addphotos.php - when add photos to existing album.

                $image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);
$dst = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);
$image_location = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
// Locate the watermark file wherever you choose (remember PNG format). I put in ../media/photos/watermark.png
$watermark_location = $config['BASE_DIR']. '/media/photos/watermark.png';
$save_watermarked_file_to = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->watermark($image_location, $watermark_location, $save_watermarked_file_to); ++$photos; think somewhere there is error
                $image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);
$dst = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);

in my code not 2x "'MAX_WIDTH', 575, 0"

its looks like you added that to:
    $dst        = $config['BASE_DIR']. '/media/photos/' .$photo_id. '.jpg';
$image->process($src, $dst, 'MAX_WIDTH', 575, 0);
$image->resize(true, true);

but I was thinking to be pasted after that  

Automatically watermark all uploaded photos (给所有上传的相片加水印)的更多相关文章

  1. thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

    今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...

  2. PHP多图片上传 并检查 加水印 源码

    参数说明:$max_file_size : 上传文件大小限制, 单位BYTE$destination_folder : 上传文件路径$watermark : 是否附加水印(1为加水印,其他为不加水印) ...

  3. 百度编辑器ueditor给上传的图片加入水印

    百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常easy.以 ueditor 1.2.6 为例.打开php文件夹以下的imageUp.php文件,查找"$i ...

  4. springMVC3.0(文件上传,@RequestMapping加參数,@SessionAttributes,@ModelAttribute,转发,重定向,数值获取,传參,ajax,拦截器)

    1.项目包结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsiz ...

  5. Webform 文件上传、 C#加图片水印 、 图片验证码

    文件上传:要使用控件 - FileUpload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.val ...

  6. PHP之图片上传类(加了缩略图)

    有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下 <form action="<?php $_SERVER['PHP_SELF']; ?>" ...

  7. 关于ueditor1_4_3 上传出现无法加载配置的问题

    我的解决方案是: 1. 检查 ueditor.config.js  中的 serverUrl: URL + "/net/controller.ashx" 的配置,记得一定用绝对路径 ...

  8. 解决Uploadify上传控件加载导致的GET 404 Not Found问题

    今天在项目发用到Uploadify上传, 发现在打开页面时会有一多余的请求,由于路由没有设置这个,导致404错误,能搜索查到以下解决的方法 <Uploadify v3 bug. Unecessa ...

  9. 初级版python登录验证,上传下载文件加MD5文件校验

    服务器端程序 import socket import json import struct import hashlib import os def md5_code(usr, pwd): ret ...

随机推荐

  1. Search in Rotated Sorted Array II——LeetCode

    Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...

  2. Java---获得系统窗口的分辨率

    //获得系统屏幕分辨率 //得到当前屏幕的分辨率:Toolkit.getDafaultToolkit().getScreenSize() Toolkit t = Toolkit.getDefaultT ...

  3. [Locked] 3Sum Smaller

    3Sum Smaller Given an array of n integers nums and a target, find the number of index triplets i, j, ...

  4. VMware: windows8 与 虚拟机ubuntu 14.04 共享文件夹

    假设当前用户为xxx 安装 VMwareTools 1. 打开 VMwareworkstation窗口,选择”虚拟机” -> “重新安装VMwareTools(T)”. 点击之后,会发现 Ubu ...

  5. Ignoring a Test

    如果我们不想让某个测试失败,我们仅仅想要忽略它,那么我们可以暂时的disable它. 有三种方法来忽略一个测试: 把方法注释掉 删除 @Test 注释 增加 @Ignore注释: @Ignore([i ...

  6. 说一说高级男装面料_SuMisura_新浪博客

    说一说高级男装面料_SuMisura_新浪博客 说一说高级男装面料

  7. SQLServer2005 常用语法大全

    SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRAN ...

  8. cocos2d_android开发简单游戏

    1)游戏图层设计: public class WellcomeLayer extends CCLayer { public WellcomeLayer() { this.setIsTouchEnabl ...

  9. [Javascript] Grouping and Nesting Console Log Output

    Organize your log output by grouping your logs into collapsable hierarchies using console.group(). ; ...

  10. Linux学习方法之以始为终—Linux工作分类

    /** ****************************************************************************** * @author    暴走的小 ...