php用GD库给图片添加水印
php用GD库给图片添加文字水印,整个代码比较简单,DEMO如下:
<?php
/*打开图片*/
//1、配置图片路径
$src = "aeroplane.jpg";
//2、获取图片信息
$info = getimagesize($src);
//3、获取图片类型
$type = image_type_to_extension($info[2], false);
//4、在内存中创建一个和我们图像类型一样的图像
$func = "imagecreatefrom{$type}";
//5、把图片复制到我们的内存中
$image = $func($src);
/* 操作图片 */
//1、设置字体路径
$font = "STXINGKA.ttf";
//2、填写水印内容
$content = "你好 mooc";
//3、设置字体颜色和透明度
$color = imagecolorallocatealpha($image, 255, 255, 255, 50);
//4、写入文字
imagettftext($image, 60, 0, 60, 120, $color, $font, $content);
/* 输出图片 */
//1、浏览器输出
header("Content-type:" . $info['mime']);
$outputfunc = "image{$type}";
$outputfunc($image);
//2、保存图片
$outputfunc($image, "newimage." . $type);
/* 销毁图片 */
imagedestroy($image);
?>
图片水印也类似:
<?php
/*打开图片*/
//1、配置图片路径
$src = "aeroplane.jpg";
//2、获取图片信息
$info = getimagesize($src);
//3、获取图片类型
$type = image_type_to_extension($info[2], false);
//4、在内存中创建图像
$createImageFunc = "imagecreatefrom{$type}";
//5、把图片复制内存中
$image = $createImageFunc($src);
/*操作图片*/
//1、设置水印图片路径
$imageMark = "logo.png";
//2、获取水印图片基本信息
$markInfo = getimagesize($imageMark);
//3、获取水印图片类型
$markType = image_type_to_extension($markInfo[2], false);
//4、在内存创建图像
$markCreateImageFunc = "imagecreatefrom{$markType}";
//5、把水印图片复制到内存中
$water = $markCreateImageFunc($imageMark);
//特别处理,设置透明
$color=imagecolorallocate($water,255,255,255);
imagefill($water,0,0,$color);
imagecolortransparent($water,$color);
//6、合并图片
imagecopymerge($image, $water, 20, 30, 0, 0, $markInfo[0], $markInfo[1], 30);
//7、销毁水印图片
imagedestroy($water);
/* 输出图片 */
//1、浏览器输出
header("Content-type:" . $info['mime']);
$outputfunc = "image{$type}";
$outputfunc($image);
//2、保存图片
$outputfunc($image, "image_mark." . $type);
/* 销毁图片 */
imagedestroy($image);
?>
php用GD库给图片添加水印的更多相关文章
- php 简单的学习GD库绘制图片并传回给前端实现方式
1.基本的GD库绘制图片汇总 2.后台实现小案例 <?php // $img = imagecreatetruecolor(200,40); // var_dump($img); // 利用GD ...
- php课程 8-32 如何使用gd库进行图片裁剪和缩放
php课程 8-32 如何使用gd库进行图片裁剪和缩放 一.总结 一句话总结:图片缩放到图片裁剪就是改变原图截取的位置以及截取的宽高. 1.电商网站那么多的图片,如果全部加载卡得慢的很,所以他们是怎么 ...
- php使用GD库实现图片水印和缩略图——给图片添加文字水印
今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...
- PHP面向对象——GD库实现图片水印和缩略图
今天的实现目标就是使用GD库完成对图片加水印和图 片缩略图两个功能 动身前逻辑准备 属性: 路径 功能: 构造方法 生成水印的方法 获取 图片信息 获取位置信息(123 456 789) 创建图片资源 ...
- php使用GD库实现图片水印和缩略图——封装成类
学完了如何使用GD库来实现对图片的各种处理,那么我们可以发现,不管哪种方法,都有相似之处,如果我们把这些相似的地方和不相似的地方都封装成类,这样就可以提升代码的速度,而且节省了很多时间,废话不多说,来 ...
- php使用GD库实现图片水印和缩略图——生成图片缩略图
今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...
- php使用GD库实现图片水印和缩略图——给图片添加图片水印
今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...
- PHP 使用gd库压缩图片并生成新图片返回全路径
使用gd库前,先检查是否开启了gd库 phpinfo(); 如果在php配置信息里找到了gd库,那么就是开启了,没开启的自行百度如何开启php gd库 既然开启了gd库,那么直接再php里写入以下代码 ...
- 使用GD库做图片水印
png图片作为水印加到其他类型图片后,背景变黑色 原因: imagecopy函数拷贝时可以保留png图像的原透明信息,而imagecopymerge却不支持图片的本身的透明拷贝. 然后直接上代码: / ...
随机推荐
- listBox获取项的方法
获取所有项 ; i < LB.Items.Count;i++ )2 {3 str_arr.Add(LB.Items[i].ToString()); 4 } 获取指定项 string str=LB ...
- 剑指offer23 从上往下打印二叉树
没有把队列的头部弹出,出现内存错误:
- 商城管理系统项目(前台+后台+管理员+用户+html+jsp)
管理员后台 用户前台 如果下载项目报错,加包即可(包已经打包放在下载地址) 数据库:mysql drop database shoppingmall; create database shopping ...
- 【洛谷P1879】玉米田Corn Fields
玉米田Corn Fields 题目链接 此题和互不侵犯状压DP的做法类似 f[i][j]表示前i行,第i行种植(1)/不种植(0)构成的二进制数为j时的方案数 首先我们可以预处理出所有一行中没有两个相 ...
- data-ng-show 指令
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- c语言描述的数据结构的注意细节
:顺序表使用基址来表示和存储 int *p; p=(int *)malloc(initsize*sizeof(int)); L—>p[x]=xx; :链表 在于除了更改数据还要更改前后与之关联的 ...
- android(eclipse)界面控件以及活动总结(二)
用户界面以及活动总结: (复习时忘了的特别标记了下划线,补充的用了红色) 1用户界面: ~android:id=""专门用于找到指定界面的索引 如果要在后面的程序中调用该控件,则一 ...
- js动画之requestAnimationFrame
1.setTimeout和setInterval 在讲setTimeout和setInterval之前,先讲一下异步执行的运行机制.(同步执行也是如此,因为它可以被视为没有异步任务的异步执行.) (1 ...
- Hibernate学习第一天
Hibernate框架第一天 今天任务 1. 使用Hibernate框架完成对客户的增删改查的操作 教学导航 1. 能够说出Hibernate的执行流程 2. 能够独立使用Hibernate框架完成增 ...
- Webpack学习笔记九 webpack优化总结
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...