opencart2 添加水印图片

原创 2015年07月07日 14:07:20

下载了最新的opencart2研究,下面是添加水印的方法,一共3个步骤,都可以对比本身的代码,看看改动:

1.  上传一张水印图到image目录下,名字是 watermark.png,另外水印图一般都要背景透明,所以就用png

2.  system\library\image.php修改部分代码,找到watermark函数(感谢系统自带了这个函数^_^)

	public function watermark($file, $position = 'center') {
	        $watermark = imagecreatefrompng($file);

		$watermark_width = imagesx($watermark);
		$watermark_height = imagesy($watermark);

		switch($position) {
			case 'topleft':
				$watermark_pos_x = 0;
				$watermark_pos_y = 0;
				break;
			case 'topright':
				$watermark_pos_x = $this->info['width'] - $watermark_width;
				$watermark_pos_y = 0;
				break;
			case 'bottomleft':
				$watermark_pos_x = 0;
				$watermark_pos_y = $this->info['height'] - $watermark_height;
				break;
			case 'bottomright':
				$watermark_pos_x = $this->info['width'] - $watermark_width;
				$watermark_pos_y = $this->info['height'] - $watermark_height;
				break;
            case 'center':
                $watermark_pos_x = ($this->info['width']- $watermark_width)/2;
                $watermark_pos_y = ($this->info['height']- $watermark_height)/2;
                break;
		}

		imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, $watermark_width, $watermark_height);

		imagedestroy($watermark);
	}


你自己可以对照这个文件,就能看到有哪些改动,下面是几点修改的说明:

 a. 去掉了创建水印图的判断,因为我们已经定死了是png图片

b.  函数默认参数改为  center,90%以上的网站都是在原图中间加 水印图片

c.  case 'center'的实现

d. 函数末尾imagecopy的最后2个参数改为 水印图片的宽和高


3.  catalog/model/tool/image.php 第30行左右,修改如下:

list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);

			if ($width_orig != $width || $height_orig != $height) {
				$image = new Image(DIR_IMAGE . $old_image);
		//添加这个这里可以自行改变,因为产品小图是不用加水印的,我设置的是大于500就添加水印
                if ($width > 500 || $height > 500) {
                    $image->watermark(DIR_IMAGE . 'watermark.png', 'center');
                }

				$image->resize($width, $height);
				$image->save(DIR_IMAGE . $new_image);
			} else {
				copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
			}

说明: opencart是 在图片调用的地方才生成 相应的缩略图


备注:如果该功能OK,为了opencart2的规范,请复制该文件到  /system/modification/system/library/image.php,这样以后版本更新才可以直接覆盖system文件夹,不受影响。



java操作 excel 实现 水印图片2

  • 2017年05月05日 11:52
  • 7KB
  • 下载

java 为pdf添加水印图片

首先需要引入两个Jar包分别是:iTextAsian.jar 、itext-2.1.7.jar  可以去  http://download.csdn.net/detail/work201003/922...

java 为pdf添加水印图片

from  http://blog.csdn.net/oxiaoxio/article/details/49512763 首先需要引入两个Jar包分别是:iTextAsian.jar 、it...

Java添加水印图片

package com.narwell.culturemall.test; import java.awt.Color; import java.awt.Font; import ja...

Android 图片添加水印图片或者文字

给图片添加水印的基本思路都是载入原图,添加文字或者载入水印图片,保存图片这三个部分 添加水印图片: private Bitmap createWaterMaskImage(Context gCon...

PHP为原图片添加水印图片

  • 2011年04月26日 09:21
  • 9KB
  • 下载

上传图片并添加水印图片一步到位

    得瑟一下先,前段时间做了一个上传图片添加水印的功能,很好很强大:我后来来的,这个系统对我来说相当于二次开发吧,看了一下cs里边的代码,那个上传图片的函数和添加水印的功能函数写的一塌糊涂(嘿嘿,...

为图片添加水印图片

package com.tz.为图片添加水印; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Bu...

Itext PDF生成 加水印图片文字

由于项目中用到,所以网上找了很多,但或多或少有些问题,我整理更新了一下。 Itext架包下载地址: http://download.csdn.net/detail/qm4050/5531349 ...
  • qm4050
  • qm4050
  • 2013年06月06日 15:02
  • 17528
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:opencart2 添加水印图片
举报原因:
原因补充:

(最多只允许输入30个字)