先看效果
处理前:
处理后:
要求的效果很简单,就是一张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;
?>
大家有没有好的方法!欢迎讨论!