PHP 要为图片加上浮水印: 就是要将两张图合并在一起, 浮水印的图片要盖在上面.

现实状况还会遇到原图要缩略图后, 浮水印的图片可能也要跟着缩略图, 这些部分再此就不写了, 此部份缩略图可见此篇:

此篇只写如何用 PHP GD 来合并图片, 做浮水印功能.

PHP 为图片加上浮水印 (含浮水印透明背景处理)

PHP 要为图片加上浮水印 (两张图合并), 可用下述 Function:

imagecopymerge(原图Resource, 浮水印图Resource, 浮水印要放的目标位置x, 浮水印要放的目标位置y, 0, 0, 浮水印图的宽度, 浮水印图的高度, alpha transparency);

?>

但是上述若浮水印的图片是透明背景、透明底图, 透明部分就会变成一片黑, 若遇到此状况, 可改用下述 Function: (用笔刷的方式一行一行刷上去)

// 浮水印的图若是透明背景、透明底图, 需要用下述两行

imagesetbrush(原图Resource, 浮水印图Resource);

imageline(原图Resource, $watermark_pos_x, $watermark_pos_y, $watermark_pos_x, $watermark_pos_y, IMG_COLOR_BRUSHED);

?>

为图片加上浮水印的程序 Function

function watermark($from_filename, $watermark_filename, $save_filename)

{

$allow_format = array('jpeg', 'png', 'gif');

$sub_name = $t = '';

// 原图

$img_info = getimagesize($from_filename);

$width    = $img_info['0'];

$height   = $img_info['1'];

$mime     = $img_info['mime'];

list($t, $sub_name) = explode('/', $mime);

if ($sub_name == 'jpg')

$sub_name = 'jpeg';

if (!in_array($sub_name, $allow_format))

return false;

$function_name = 'imagecreatefrom' . $sub_name;

$image     = $function_name($from_filename);

// 浮水印

$img_info = getimagesize($watermark_filename);

$w_width  = $img_info['0'];

$w_height = $img_info['1'];

$w_mime   = $img_info['mime'];

list($t, $sub_name) = explode('/', $w_mime);

if (!in_array($sub_name, $allow_format))

return false;

$function_name = 'imagecreatefrom' . $sub_name;

$watermark = $function_name($watermark_filename);

$watermark_pos_x = $width  - $w_width;

$watermark_pos_y = $height - $w_height;

// imagecopymerge($image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, $w_width, $w_height, 100);

// 浮水印的图若是透明背景、透明底图, 需要用下述两行

imagesetbrush($image, $watermark);

imageline($image, $watermark_pos_x, $watermark_pos_y, $watermark_pos_x, $watermark_pos_y, IMG_COLOR_BRUSHED);

return imagejpeg($image, $save_filename);

}

?>

使用范例: watermark('source.jpg', 'watermark.png', 's-and-w.jpg'); // s-and-w.jpg 就是合并完成的图片

相关网页

java图片透明浮水印_PHP 为图片加上浮水印 (含浮水印透明背景处理)相关推荐

  1. php中图片上传_php实现图片上传并进行替换操作

    首先建立两个文件: change.html 和 change.php change.html 文件的表单代码如下: change file example. 文件: 这里有几个要注意的地方,首先看这句 ...

  2. php一句话图片木马过滤_php一句话图片木马怎么解析

    一句话木马解析 首先,学习渗透时,木马大概也就三种:大马.小马.一句话. 常见的一句话:<?php @eval($_POST['x'])?> 这个应该是最常见的了...看一下他的组成. 首 ...

  3. 用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像

    如果只是想给图片加一个圆角可以参考下面文章 用到的php gd库函数有 imagecolorat imagesetpixel 首先是把图片处理成圆形的: 原图如下: 处理过之后效果: 注意圆色后面的白 ...

  4. ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]

    用到的jar包: commons-beanutils-1.8.0.jar commons-codec-1.10.jar package com.zhenzhigu.commons.util;   im ...

  5. java 图片合并_Java如何实现图片的叠加与拼接操作

    关于Java实现图片的叠加与拼接的文章网络上确实很多,碰巧小编开发工作中也遇到这些问题,就做了简要的梳理,作为笔记以备不时之需. Java对图片的处理主要使用的是BufferedImage类. Buf ...

  6. java图片转字符_java实现图片转字符图(看的过去的亚子)

    普通图片转换为ASSIC码灰度图片 原图: 效果图: 转换方法 读取图片文件到BufferedImage 读取BufferedImage中的RGB值 将RGB三色值按照(0.3,0.59,0.11)权 ...

  7. Java爬虫之批量下载LibreStock图片(可输入关键词查询下载)

    前言(废话) 公司产品新版本刚刚上线,所以也终于得空休息一下了,有了一点时间.由于之前看到过爬虫,可以把网页上的数据通过代码自动提取出来,觉得挺有意思的,所以也想接触一下,但是网上很多爬虫很多都是基于 ...

  8. java导出各种PDF文件(图片、表格、字体)

    java导出PDF文件(插入图片,表格,字体) 业务需求:需要根据系统里的各种数据动态生成PDF会议材料. 最终呈现图 思路 因为会议材料涉及各种数据,图片.同时还要有表格及字体样式的要求,所以需要用 ...

  9. java实现pdf生成,包括合并图片

    参考帖子: 这位大佬的帖子必读,因为涉及到pdf创建表单的教程: java使用itext填充pdf模板,超简单教学,有手就行 以下是学习当中参考的帖子: java pdf域插入img_java实现在p ...

最新文章

  1. Pytorch源码与运行原理浅析--网络篇(一)
  2. 计算机网络---个人笔记整理
  3. [译] React Native vs. Cordova、PhoneGap、Ionic,等等
  4. Flink从入门到精通100篇(四)-基于 Flink 和 Drools 的实时日志处理
  5. Hibernate框架--学习笔记(上):hibernate项目的搭建和常用接口方法、对象的使用
  6. .NET体系中的源程序安全问题
  7. 2018-2019-2 网络对抗技术 20165329 Exp 8 Web基础
  8. MySQL字符集问题
  9. 金三银四的面试黄金季节,Android面试题来了!
  10. 逃跑h5小游戏源码熊出没手机游戏
  11. html怎么绘制中国地图,利用d3.js绘制中国地图
  12. Windows10家庭版转为专业版
  13. 全球与中国钠还原剂市场深度研究分析报告
  14. 多种图像配准方法的综合比较(KAZE、SIFT、SURF等)
  15. SpringMVC使用HandlerExceptionResolver实现全局异常处理器
  16. Linux系统之DNS解析
  17. 折线图 和如何在图上写字
  18. SSH远程连接Ubuntu【局域网】
  19. python实现linux命令输出两列_Python实现Linux命令xxd -i功能
  20. Spring对JTA的支持

热门文章

  1. 你对计算机网络如何看待,如何看待网络文化
  2. python对比柱状图_Python 数据分析测试5 之 柱状图对比显示
  3. 扫奖网-免费抽奖信息聚集平台
  4. qt在线安装好麻烦啊。
  5. python实现翻_python实现模拟按键,自动翻页看u17漫画
  6. 业务功能“二级分销”简单实现
  7. python爬虫小知识: 通过 request库 代理proxies来设置,无法访问问题
  8. 论文阅读 之 Person Search by Multi-Scale Matching
  9. workman php开源服务器框架初学(一)
  10. Nginx (engine x)