php合并两张图片失真问题解决,及添加圆角头像办法

php添加图片水印时,需要将一个图添加到另一个图中,最初处理时,出现了很严重的失真,后来使用下面的办法后,解决了失真的办法,下面的是将 图2 添加到 图1 上,

大致流程是,首先新建一个和 图1 大小相同的图片,将图片复制到新图片上,再将图二复制上,保存生成的新图片

$path_1 = “1.jpg”;  //图1
$path_2 = “2.jpg”;   //图2

//图1、图2 分别取到两个画布中
$image_1 = imagecreatefromjpeg($path_1);
$image_2 = imagecreatefromjpeg($path_2);

//创建一个和图1相同大小的真彩色画布(ps:只有这样才能保证后面copy图片的时候不会失真)
$image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1));

//为真彩色画布创建白色背景,再设置为透明
$color = imagecolorallocate($image_3, 1000, 1000, 1000);

//此处3个1000可以使背景设为白色,3个255可以使背景变成透明色
imagefill($image_3, 0, 0, $color);
imageColorTransparent($image_3, $color);

//首先将图1画布采样copy到真彩色画布中,不会失真
imagecopyresampled($image_3,$image_1,0,0,0,0,imagesx($image_1),imagesy($image_1),imagesx($image_1),imagesy($image_1));

//再将图2图片copy到已经具有图1图像的真彩色画布中,同样也不会失真
imagecopymerge($image_3,$image_2, 0,780,0,0,imagesx($image_2),imagesy($image_2), 100);

//将画布保存到指定的文件
// imagejpeg($image_3,’./123.jpg’);

imagepng($image_3,’./123.jpg’);

在做公众号时,需要生成个人专属二维码,但是生成的时候只有二维码,没有头像,看着很不爽,那怎么添加个人微信二维码那种,头像有白边的圆角头像呢,我个人的办法是:按照上面的办法

首先生成二维码,将头像添加到二维码中(此时头像是正方形的头像,也没有相应的白边),生成一个包括头像的二维码,再将一个圆角白色边框的png 图像添加到图像中,此时就可以生成圆角白边的头像二维码了

gd

但是有另一个问题,就是添加白色圆角边框的 png图片 时,按正常添加时,直接是一个白色的图片,没有透明效果。使用下面的办法即可

function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
$cut = imagecreatetruecolor($src_w, $src_h);
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
$opacity = 100 – $opacity;
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, 100);
return $dst_im;
}

都是在网上找来的办法,反正是可以生成了

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/79.html

(0)
adminadmin
上一篇 2018年11月18日 下午10:10
下一篇 2018年11月18日 下午10:14

相关推荐

  • 鼎信通达 FXS模拟网关 配置(FreeSwitch)

    查询建筑企业信息网站DAG2000-32S是一款多功能语音网关,用于提供模拟话机、传真或者模拟程控交换机PBX到IP语音网关无缝连接。它同时提供RJ11和RJ21接口,满足用户不同场景的布线需求。 而…

    2018年11月18日
  • CentOS免密登录

    查询建筑企业信息网站CentOS免密登录需要配置SSH登录密码与密钥身份验证。以下是一个简单的步骤: 此外,为了方便使用,可以设置别名,将登录命令写入到配置文件中。例如,在配置文件中添加别名alias…

    记事本 2023年12月27日
  • 银河麒麟V10在虚拟机上修改屏幕分辨率的方法

    查询建筑企业信息网站在VirtualBox虚拟机上安装银河麒麟V10时,分辨率默认为800*600,修改时 保存更改又点不到。 可以使用命令来修改分辨率。 不能使用ssh客户端登录修改

    2024年6月12日
  • mysql 表区分大小写问题

    查询建筑企业信息网站由于开发环境与服务器环境不同,代码上传后出现错误,提示字段不存在,排查后发现表名大小写不同而导致的错误,mysql可以进行配置来达到是否区分大小写。 只需再mysqld下添加一行 …

    记事本 2023年11月18日
  • 服务器编译安装PHP7.4

    查询建筑企业信息网站1、安装基础组件,为后期安装准备 安装oniguruma 安装libsodium 安装PHP # gmp 使用 –with-gmp 不使用  –enable-gmp # …

    记事本 2023年11月18日
  • CentOS shell 检测服务状态

    查询建筑企业信息网站CentOS shell 检测服务状态,可以在停止的时候自动启动,用于服务器的进程守护 如果只在没有允许时启动服务可以使用下面的代码

    记事本 2024年1月6日
  • centos7调整根目录挂载分区容量大小

    查询建筑企业信息网站由于系统初始时根目录一般空间为50左右 有时会被占满,而/home目录却有大量空间 这里需要调整: 1.终止占用 /home 进程 fuser -m -v -i -k /home​…

    记事本 2018年11月18日
  • Mac系统下PhpStorm试用版下载地址

    查询建筑企业信息网站PhpStorm 是 JetBrains 公司开发的一款商业的PHP集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 Mac系统,…

    2024年3月16日
  • 微信分享朋友圈及分享给好友接口(微信朋友圈分享失败)

    查询建筑企业信息网站最近做微信公众开发,开到微信分享接口,最初的时候一直获取不到自定义的标题、说明及图片,开启debug模式,一直提示正确,但分享时有问题。 最新版为1.4( jweixin-1.4.…

    记事本 2018年11月18日
  • 解决windows+nginx下 PHP-CGI 进程崩溃问题

    查询建筑企业信息网站本地开发系统使用的是windows系统下,配置的 nginx+php,在使用过程中总是出现崩溃现象,网上搜解决办法时,很多网友说是PHP-CGI 进程崩溃 造成的,当 php-cg…

    2023年11月18日

发表回复

登录后才能评论
WeChat