php 图片添加文字水印 以及 图片合成(微信快码传播)
1、图片添加文字水印:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
$bigImgPath = 'backgroud.png' ; $img = imagecreatefromstring( file_get_contents ( $bigImgPath )); $font = 'msyhl.ttc' ; //字体 $black = imagecolorallocate( $img , 0, 0, 0); //字体颜色 RGB $fontSize = 20; //字体大小 $circleSize = 60; //旋转角度 $left = 50; //左边距 $top = 150; //顶边距 imagefttext( $img , $fontSize , $circleSize , $left , $top , $black , $font , 'Rhythmk| 坤' ); list( $bgWidth , $bgHight , $bgType ) = getimagesize ( $bigImgPath ); switch ( $bgType ) { 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 : break ; } imagedestroy( $img ); |
效果:
2、图片合成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
$bigImgPath = 'backgroud.png' ; $qCodePath = 'qcode.png' ; $bigImg = imagecreatefromstring( file_get_contents ( $bigImgPath )); $qCodeImg = imagecreatefromstring( file_get_contents ( $qCodePath )); list( $qCodeWidth , $qCodeHight , $qCodeType ) = getimagesize ( $qCodePath ); // imagecopymerge使用注解 imagecopymerge( $bigImg , $qCodeImg , 200, 300, 0, 0, $qCodeWidth , $qCodeHight , 100); list( $bigWidth , $bigHight , $bigType ) = getimagesize ( $bigImgPath ); switch ( $bigType ) { case 1: //gif header( 'Content-Type:image/gif' ); imagegif( $bigImg ); break ; case 2: //jpg header( 'Content-Type:image/jpg' ); imagejpeg( $bigImg ); break ; case 3: //jpg header( 'Content-Type:image/png' ); imagepng( $bigImg ); break ; default : # code... break ; } imagedestroy( $bigImg ); imagedestroy( $qcodeImg ); |
函数注解:
imagecopymerge()
imagecopymerge() 函数用于拷贝并合并图像的一部分,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool imagecopymerge( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct )
参数说明:
dst_im 目标图像
src_im 被拷贝的源图像
dst_x 目标图像开始 x 坐标
dst_y 目标图像开始 y 坐标,x,y同为 0 则从左上角开始
src_x 拷贝图像开始 x 坐标
src_y 拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝
src_w (从 src_x 开始)拷贝的宽度
src_h (从 src_y 开始)拷贝的高度
pct 图像合并程度,取值 0-100 ,当 pct=0 时,实际上什么也没做,反之完全合并。
效果图:
https://www.cnblogs.com/rhythmK/p/5426050.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!