java图片透明浮水印_PHP 为图片加上浮水印 (含浮水印透明背景处理)
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 为图片加上浮水印 (含浮水印透明背景处理)相关推荐
- php中图片上传_php实现图片上传并进行替换操作
首先建立两个文件: change.html 和 change.php change.html 文件的表单代码如下: change file example. 文件: 这里有几个要注意的地方,首先看这句 ...
- php一句话图片木马过滤_php一句话图片木马怎么解析
一句话木马解析 首先,学习渗透时,木马大概也就三种:大马.小马.一句话. 常见的一句话:<?php @eval($_POST['x'])?> 这个应该是最常见的了...看一下他的组成. 首 ...
- 用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像
如果只是想给图片加一个圆角可以参考下面文章 用到的php gd库函数有 imagecolorat imagesetpixel 首先是把图片处理成圆形的: 原图如下: 处理过之后效果: 注意圆色后面的白 ...
- ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]
用到的jar包: commons-beanutils-1.8.0.jar commons-codec-1.10.jar package com.zhenzhigu.commons.util; im ...
- java 图片合并_Java如何实现图片的叠加与拼接操作
关于Java实现图片的叠加与拼接的文章网络上确实很多,碰巧小编开发工作中也遇到这些问题,就做了简要的梳理,作为笔记以备不时之需. Java对图片的处理主要使用的是BufferedImage类. Buf ...
- java图片转字符_java实现图片转字符图(看的过去的亚子)
普通图片转换为ASSIC码灰度图片 原图: 效果图: 转换方法 读取图片文件到BufferedImage 读取BufferedImage中的RGB值 将RGB三色值按照(0.3,0.59,0.11)权 ...
- Java爬虫之批量下载LibreStock图片(可输入关键词查询下载)
前言(废话) 公司产品新版本刚刚上线,所以也终于得空休息一下了,有了一点时间.由于之前看到过爬虫,可以把网页上的数据通过代码自动提取出来,觉得挺有意思的,所以也想接触一下,但是网上很多爬虫很多都是基于 ...
- java导出各种PDF文件(图片、表格、字体)
java导出PDF文件(插入图片,表格,字体) 业务需求:需要根据系统里的各种数据动态生成PDF会议材料. 最终呈现图 思路 因为会议材料涉及各种数据,图片.同时还要有表格及字体样式的要求,所以需要用 ...
- java实现pdf生成,包括合并图片
参考帖子: 这位大佬的帖子必读,因为涉及到pdf创建表单的教程: java使用itext填充pdf模板,超简单教学,有手就行 以下是学习当中参考的帖子: java pdf域插入img_java实现在p ...
最新文章
- Pytorch源码与运行原理浅析--网络篇(一)
- 计算机网络---个人笔记整理
- [译] React Native vs. Cordova、PhoneGap、Ionic,等等
- Flink从入门到精通100篇(四)-基于 Flink 和 Drools 的实时日志处理
- Hibernate框架--学习笔记(上):hibernate项目的搭建和常用接口方法、对象的使用
- .NET体系中的源程序安全问题
- 2018-2019-2 网络对抗技术 20165329 Exp 8 Web基础
- MySQL字符集问题
- 金三银四的面试黄金季节,Android面试题来了!
- 逃跑h5小游戏源码熊出没手机游戏
- html怎么绘制中国地图,利用d3.js绘制中国地图
- Windows10家庭版转为专业版
- 全球与中国钠还原剂市场深度研究分析报告
- 多种图像配准方法的综合比较(KAZE、SIFT、SURF等)
- SpringMVC使用HandlerExceptionResolver实现全局异常处理器
- Linux系统之DNS解析
- 折线图 和如何在图上写字
- SSH远程连接Ubuntu【局域网】
- python实现linux命令输出两列_Python实现Linux命令xxd -i功能
- Spring对JTA的支持
热门文章
- 你对计算机网络如何看待,如何看待网络文化
- python对比柱状图_Python 数据分析测试5 之 柱状图对比显示
- 扫奖网-免费抽奖信息聚集平台
- qt在线安装好麻烦啊。
- python实现翻_python实现模拟按键,自动翻页看u17漫画
- 业务功能“二级分销”简单实现
- python爬虫小知识: 通过 request库 代理proxies来设置,无法访问问题
- 论文阅读 之 Person Search by Multi-Scale Matching
- workman php开源服务器框架初学(一)
- Nginx (engine x)