一直使用上上签电子合同,有一个新项目需要使用时被告知要使用V3版本,经过测试发现需要自己进行公章抠图处理了;
由于使用PHP做为主开发语言,无奈之下,只能选择Imagick来进行图片处理;
抠图的代码很简单,直接上代码:
1 2 3 4 5 6 7 8 9 10 | im = new \Imagick($imgurl); $im->thumbnailImage(180, 180,true); $x = $im->getImageWidth(); $y = $im->getImageHeight(); $im->transparentPaintImage($im->getImagePixelColor(0, 0), 0, 4000,0); $im->transparentPaintImage($im->getImagePixelColor(0, $y), 0, 4000,0); $im->transparentPaintImage($im->getImagePixelColor($x, 0), 0, 4000,0); $im->transparentPaintImage($im->getImagePixelColor($x, $y), 0, 4000,0); $im->setImageFormat("png"); $imagedata = $im->getImageBlob(); |
简单说一下我的处理思路:
先把公章图片裁减为180*180,然后分别获取4个角的颜色,再进行处理,最后设置图片格式,输出图片数据流;