php图片平铺,php平铺水印/图片添加水印/图片合成
php图片加水印,php文字水印,php平铺水印,php图片水印,php图片添加图文 平铺水印。
**图片添加文字水印**
```php
$bigImgPath = '08.jpg';
$img = imagecreatefromstring(file_get_contents($bigImgPath));
$color = imagecolorallocatealpha($img,255,255,255,60);
$font = './zzgkt.ttf';//字体
$fontSize = 18; //字体大小
$circleSize = 15; //旋转角度
$left = 50; //左边距
$top = 200; //顶边距
$str = '未来往事[www.fity.cn]';
imagefttext($img, $fontSize, $circleSize, $left, $top, $color, $font, $str);
//imagettftext($img,$fontSize,$circleSize,$left,$top,$color,$font,$str);
header("content-type:image/jpeg");
imagejpeg($img);
imagedestroy($img);
```
效果预览:
[![图片添加文字水印](https://www.fity.cn/usr/uploads/2017/03/1490000384_3298d4e5.png "图片添加文字水印")](https://www.fity.cn/usr/uploads/2017/03/1490000384_3298d4e5.png "图片添加文字水印")
**图片合成 图片水印**
```php
$bigImgPath = '08.jpg';
$qCodePath = 'cli.png';
$img = imagecreatefromstring(file_get_contents($bigImgPath)); //或者imagecreatefromjpeg
$qCodeImg = imagecreatefrompng($qCodePath);
list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodePath);
$fontSize = 18; //字体大小
$circleSize = 15; //旋转角度
$left = 308; //左边距
$top = 258; //顶边距
// imagecopymerge使用注解
imagecopymerge($img, $qCodeImg, $left, $top, 0, 0, $qCodeWidth, $qCodeHight, 100);
list($bigWidth, $bigHight, $bigType) = getimagesize($bigImgPath);
switch ($bigType) {
case 1: //gif
header('Content-Type:image/gif');
imagegif($img);
break;
case 2: //jpg
header('Content-Type:image/jpg');
imagejpeg($img);
break;
case 3: //jpg
header('Content-Type:image/png');
imagepng($img);
break;
default:
# code...
break;
}
imagedestroy($img);
imagedestroy($qcodeImg);
```
效果预览:
[![图片合成图片水印](https://www.fity.cn/usr/uploads/2017/03/1490000384_25587af3.png "图片合成图片水印")](https://www.fity.cn/usr/uploads/2017/03/1490000384_25587af3.png "图片合成图片水印")
关于水印图片不透明可以参考本博客另外一篇文章《[imagecopymerge合成图片 黑色背景问题解决](https://www.fity.cn/post/609.html "imagecopymerge合成图片 黑色背景问题解决")》
**文字水印平铺 图片水印平铺**
**方法一:相对来说该方式较为传统~~~**
```php
//echo $this->filePath;
$groundImage = './p1.jpg';
if(!empty($groundImage) && file_exists($groundImage)){
$ground_info = getimagesize($groundImage);
$ground_w = $ground_info[0];//取得背景图片的宽
$ground_h = $ground_info[1];//取得背景图片的高
switch($ground_info[2])//取得背景图片的格式
{
case 1:$ground_im = imagecreatefromgif($groundImage);break;
case 2:$ground_im = imagecreatefromjpeg($groundImage);break;
case 3:$ground_im = imagecreatefrompng($groundImage);break;
default:die($formatMsg);
}
}else{
die("需要加水印的图片不存在!");
}
$logo = 'water_logo.png';
$watermark = imagecreatefrompng($logo);
$x_length = $ground_w+260; //x轴总长度
$y_length = $ground_h+190; //y轴总长度
$x_padding = 15; //x轴与y轴起始位置边距
$y_padding = 15;
//imagecopymerge_alpha($ground_im, $watermark, $x, $y, 0, 0, 1920, 1000, 100);
for ($x=$x_padding;$xnewimage( 140, 80, new imagickpixel( "none" ) );
$draw = new imagickdraw();
$draw->setfillcolor(new imagickpixel( "grey" ));
$draw->setgravity(imagick::gravity_northwest);
$draw->annotation(10,10 ,'copyright');
$draw->setgravity(imagick::gravity_southeast);
$draw->annotation(5,15 ,'copyright');
$im->drawimage( $draw);
$image = $image->textureimage($im);
$image->compositeimage($image,imagick::composite_copy,0,0);
header( "content-type: image/{$image->getimageformat()}" );
$image->writeimage('wmark_text_tiled.jpg');
$image->clear();
$image->destroy();
```
效果预览:
[![平铺水印](https://www.fity.cn/usr/uploads/2017/03/1490000384_87932caa.png "平铺水印")](https://www.fity.cn/usr/uploads/2017/03/1490000384_87932caa.png "平铺水印")
**PS:**使用该方式需要先配置php环境支持imagick扩展类库,类库下载:
http://pecl.php.net/package/imagick
**综合Demo示例**
[点击打开,建议使用手机浏览器打开测试](https://www.fity.cn/demo/cropper/ "点击打开,建议使用手机浏览器打开测试")
[![综合demo](https://www.fity.cn/usr/uploads/2017/03/1489832104_56825f64.png "综合demo")](https://www.fity.cn/usr/uploads/2017/03/1489832104_56825f64.png "综合demo")
最后更新于 2019-07-10 19:24:09 并被添加「php函数 图片处理」标签,已有 3216 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章
php图片平铺,php平铺水印/图片添加水印/图片合成相关推荐
- java怎么让图片铺满_Java实现水印铺满图片
public class ImageMarkUtil { /** 水印透明度 */ private static float alpha = 0.5f; /** 水印图片旋转角度 */ private ...
- css 背景平铺 控制范围,css如何让背景图片平铺?css背景图片平铺四种方式介绍...
在网页设计的过程中,有时候可能会要求背景图片平铺,因为这样会让整个网页看起来比较好看,图片平铺可以不用具体设置body宽度和高度大小,就可以直接将图片平铺整个页面,那么,如何让背景图片平铺呢?接下来本 ...
- html中背景不平铺怎么写,css怎么让背景图片不平铺?
在使用background属性设置背景图片时,背景图片默认是重复平铺的.css怎么让背景图片不平铺?下面本篇文章就来给大家介绍一下使用CSS设置背景图片不平铺的方法,希望对大家有所帮助. 在CSS中, ...
- Java实现在线word文档添加铺满效果文字水印,文字可换行
Java实现在线word文档添加铺满效果文字水印,文字可换行 使用插件Aspose.words for java 生成水印的工具类 调用生成水印方法 需求:为在线预览的word文档添加自定义水印,还要 ...
- vue组件中设置背景图片,随着页面高度的增加,背景图片能够不断延伸铺满屏幕
在做项目的时候,想要实现背景图片将整个页面铺满,等内容变多,高度超过屏幕高度的时候,背景图片仍然能够完全铺满. 第一种方式:(不是想要的) 第一种情况就是最外层设置一个div盒子,宽度100%,高度1 ...
- C#图片处理示例(裁剪,缩放,清晰度,水印)
前言 需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示.随便看一下,大部分网站基本都是将原图等比缩放来生成缩略图.但完美主义者会发 ...
- CSDN博文中完美地去掉图片水印、调整图片位置和大小
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 写博客的时候,大多数人会有这种感觉:图片上传会有水印,位置默认靠左,有时候嫌直接上传比较大,不太美观,特此查找了解决办法 ...
- php给图片加图片水印,php给图片添加文字或图片水印实现代码
原标题:php给图片添加文字或图片水印实现代码 一.文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: $dst_path = 'dst ...
- SpringBoot 集成 thumbnailator (图片缩放,区域裁剪,水印,旋转,保持比例)保姆级教程(含代码)
Thumbnailator 是 Google 开源的图片处理库,支持:图片缩放,区域裁剪,水印,旋转,保持比例.详细介绍可以百度或官网,话不多说,直接上代码,具体要结合自己的业务需要进行使用(有些复杂 ...
- php加水印功能,PHP图片加水印功能
本篇文章主要介绍PHP图片加水印功能,感兴趣的朋友参考下,希望对大家有所帮助. 实例代码如下:<?php /** * 功能:给一张图片加上水印效果 * $i 要加水印效果的图片 * $t 水印文 ...
最新文章
- linux tomcat 进程杀掉_Linux-(一)常用命令总结
- 机器学习的数学基础 - 期望,方差与协方差
- 算法学习之路|住房空置率
- 简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
- Spring使用注解@Transactional事物手动回滚
- hacktoberfest_我刚刚得到了免费的Hacktoberfest衬衫。 这是获取您的商品的快速方法。
- 解决/usr/bin/ld: cannot find -lxxx
- 【干货】深度学习中的线性代数---简明教程
- python自学笔记_Python 自学笔记
- 勒索过苹果的黑客REvil又来了?这次是7000万美元赎金!
- python难学吗-python语言好学吗
- PS4蓝牙手柄分析之1
- Redis 分布式并发防止脏读
- Excel编程 VBA环境搭建(一)
- 2019南京大学计算机考研录取名单,2019南京大学计算机考研录取名单啥时出来
- POJ 2509 Peter's smokes
- c++生成DLL文件(visual studio 2019)面向小白萌新
- 如何计算字符串的字节长度
- 用Windows live writer在blogbus写博客
- 用HTML写一个仿写新浪微博简单的导航