文档章节

php修改图像

冠岑
 冠岑
发布于 2016/08/13 16:13
字数 282
阅读 29
收藏 1

要对一张模版图片进行处理,替换其中的部分,包括文字和图片。

1、主要使用

imagecreatefromjpeg 从JPG文件创建图像对象、

imagecreatefrompng从PNG文件创建图像对象、

getimagesize获取图像对象的尺寸、

imagecopymerge合并两个图像对象、

imagecolorallocate设置图像对象的背景和前景颜色、

imagefttext从字体文件创建图像对象、

imagejpeg输出或者保存图像对象、

imagedestroy销毁图像对象

等方法

 

2、上代码,自行领悟

//得到原始图片信息

$dst = "p201601.jpg";

$dst_im = imagecreatefromjpeg($dst);

$dst_info = getimagesize($dst);



//替换图像

$src = "qrcode_new.png";

$src_im = imagecreatefrompng($src);

$src_info = getimagesize($src);



//替换图像透明度

$alpha = 100;



//合并水印图片

imagecopymerge($dst_im,$src_im,404,630,0,0,$src_info[0],$src_info[1],$alpha);



//去掉原有文字

$blank_file = "blank.jpg";

$blank_im = imagecreatefromjpeg($blank_file);

$blank_info = getimagesize($blank_file);



imagecopymerge($dst_im,$blank_im,420,440,0,0,$blank_info[0],$blank_info[1],$alpha);



//准备处理文字

$font = "font/HYQiHei-80W.otf";//字体

$black = imagecolorallocate($dst_im, 0, 191, 0);//字体颜色 RGB

$fontSize = 52;   //字体大小

$circleSize = 0; //旋转角度

$left = 450;      //左边距

$top = 506;       //顶边距

imagefttext($dst_im, $fontSize, $circleSize, $left, $top, $black, $font, '大闹天宫');



//输出合并后水印图片

imagejpeg($dst_im,"ttt.jpg");

imagedestroy($dst_im);

imagedestroy($src_im);

 

© 著作权归作者所有

共有 人打赏支持
冠岑
粉丝 1
博文 21
码字总数 2781
作品 0
成都
PHP Exif 库--PEL

PEL (PHP Exif Library)是 PHP Exif 库,使用 PHP 来查看和编写 JPEG 和 TIFF 图像的 Exif headers。 PEL 可以让你完全操作 Exif (Exchangeable Image File Format) 数据,Exif 是数码相机...

滔哥
2015/01/12
1K
0
StatusNet 限制上传头像大小

StatusNet 上传头像的大小 是直接调用主机的php.ini里的设置,典型的偷懒做法 ,这样会造成用户上传几M的大文件头像,而且这样的头像及其容易失败而直接留在服务器内,占用大量的资源,解决方...

鉴客
2011/08/11
216
0
TinyMCE 4.2 发布,新增内置图像编辑工具

TinyMCE 4.2 发布,此版本添加了一个最新的特性:内置图像编辑工具! 图像工具允许你缩放,剪切,过滤图像。作为图像工具插件的一部分,还添加了上传 API 来处理修改文件的上传。 TinyMCE Im...

oschina
2015/06/26
2.3K
4
【php增删改查实例】第二十四节 - 文件上传在项目中的具体应用

文件上传在项目中,一般有两个用武之地,分别为设置用户的头像和上传附件。本节我们演示如果进行用户头像的上传。 因为一个用户单独并且唯一对应了一个头像,是一对一的关系,所以我们需要去...

剽悍一小兔
06/07
0
0
OpenCart v1.5.4.1 中文版下载 -- 国内专用

OpenCart v1.5.4.1 中文版下载 -- 国内专用 发布了 根据广大使用者的强烈要求,这个版本我们继续开放出来,让更多人使用:) 希望更多的人支持 opencart中文支持网站 www.opencart.cn 需要支...

OpenCart官方
2012/09/02
3.1K
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
38
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部