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

相关推荐

  • Mac虚拟机Parallels Desktop

    seo关键词推荐Parallels Desktop 18(PD18)是一种在Mac上同时运行macOS和Windows的虚拟机,支持Intel和M芯片,并在Mac和Windows之间无缝复制和粘贴…

    2024年3月16日
  • 城市分站站群-轻松让你收录破百万

    seo关键词推荐你是否还为你的网站没有收录而烦恼?不要慌,多城市分站站群,可以轻松让你的网站收录突破百万。多城市分站就是能够让你的网站自动生成全国3000多个县级及以上城市的分站系统,并且能够在你…

    2022年11月18日
  • ThinkPHP执行数据迁移时出错问题

    seo关键词推荐执行数据迁移相关命令时报 Fatal error: Class ‘think\facade\Env’ not found 错误,是版本问题,可在 compo…

    记事本 2023年11月19日
  • mysql 将一个表中的数据更新到另一个表中

    seo关键词推荐update table_a ,table_bset table_a.field = table_b.fieldwhere table_a.id= table_b.aid 将 ta…

    记事本 2023年11月18日
  • 网站权重是什么?这个权重有什么用?

    seo关键词推荐百度权重是爱站、站长工具等网站推出的针对网站关键词排名预计给网站带来流量,划分等级0-9的第三方网站欢迎度评估数据。百度官方明确表示不承认百度权重。 很多人喜欢把网站权重和收录速度…

    2023年11月18日
  • 宝塔面板安装nginx/php/mysql

    seo关键词推荐安装完宝塔面板后,使用生成的用户名密码登录到服务器,首次登录时会出现用户协议,滑到最底下后点击 我已阅读并同意 进入面板 输入宝塔的账号密码进行绑定,如果没有账号点击未有账号,免费…

    2023年11月18日
  • 银河麒麟V10服务器安装PHP8

    seo关键词推荐麒麟服务器安装PHP默认安装的是 PHP 7.2.34,如果安装高版本需要自己编译安装或者使用其它安装源 安装remi 源时,安装出错 只能手动创建repo,文件进行安装 然后就可…

    2024年8月9日
  • 宝塔面板一键迁移网站及数据库

    seo关键词推荐两个服务器间迁移数据太麻烦了,宝塔面板中有宝塔一键迁移插件安装上,注意是在要迁出数据的服务器上安装,安装完成后,在一键迁移插件设置中输入 新服务器的面板地址及面板API密钥。按照提…

    2023年11月18日
  • FastAdmin 下安装使用EasyWeChat

    seo关键词推荐上次介绍了如何在PHP8下运行 FastAdmin,今天在FastAdmin下安装 和使用EasyWeChat,EasyWeChat 是一个开源的 微信 非官方 SDK。安装非常简…

    2023年11月18日
  • CentOS7在线安装FreeSWITCH 1.10

    FreeSWITCH 安装需要使用用户名及Token,注册时需要验证邮箱手机号码,国内手机暂时不能收验证码。 echo “DingYi0123” >seo关键词推荐 /et…

    2024年1月23日

发表回复

登录后才能评论
WeChat