php 通过imagick 给png透明图片添加轮毂描边

先看效果

处理前:

处理后:

要求的效果很简单,就是一张png透明的人物图片,添加白色边框轮廓。

全网好像也没有直接答案

一开始用gd库处理,发现处理不了

后来用imagick ,imagick 也没有直接function

再后来说需要轮廓检测opencv

我的天啊,越搞越复杂

于是静下心想一想 如何处理这个问题,满足客户需求。

那么我可以先把这张png图片人物部分 给他处理成白色呀

然后我再放大一点

再把原来的图片合成上去。

不就ok了嘛

天才啊。我真是天才!!

只要5行代码就搞定了

<?php
ini_set('display_errors',1);
header('Content-type: image/jpeg');
$image = new Imagick('https://weixin.xxx.com/attachment/images/face/121961715046756.png');
$image1 = new Imagick('https://weixin.xxx.com/attachment/images/face/121961715046756.png');
$image->levelImage(255,255,255);
$image->resizeImage( $image->getImageWidth() * 1.05, $image->getImageHeight() * 1.05,    Imagick::FILTER_LANCZOS, 1 );

// 合成图片
$image->compositeImage($image1, Imagick::COMPOSITE_OVER, $image->getImageWidth() * 0.025, $image->getImageHeight() * 0.025);
 

echo $image;
?>


大家有没有好的方法!欢迎讨论!

  • 11
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么是快乐代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值