能將白底紅字的印章?lián)赋鰜?,用的是php,框架是laravel,其他框架請自行調(diào)節(jié)。扣其他顏色也可以,把里面的那段rgb參數(shù)判斷改改就行了,最后摳出來的效果就是白底變透明,然后只留下紅色的章,放在其他頁面上就能形成蓋章的效果了。代碼自己寫的,可能有bug,但是做做測試還是ok的,用到工作上的話請自行測試和優(yōu)化。(在我自己測試對比下,能做到和PS差不多的摳圖效果)
function getStamp(){
$path = storage_path('2018052411173848180.png');
$image = file_get_contents($path);
$info = getimagesize($path);
$im = imagecreatefromstring($image);
$width = $info[0];
$height = $info[1];
for($i=0;$i$height;$i+=1){
for($j=0;$j$width;$j+=1){
$rgb = ImageColorAt($im, $j, $i);
$r = ($rgb >> 16) 0xFF;
$g = ($rgb >> 8) 0xFF;
$b = $rgb 0xFF;
echo $r.'.'.$g.'.'.$b.'.='.$rgb.'br>x='.$j.', y='.$i.'br>';
if(intval($r)>220 $g >220 $b>220){
$hex = imagecolorallocate($im, 255, 255, 255);
imagesetpixel($im,$j, $i, $hex);
}
}
}
$white = imagecolorallocate($im , 255 , 255 , 255);//拾取白色
imagefill($im , 0 , 0 , $white);//把畫布染成白色
imagecolortransparent($im , $white ) ;//把圖片中白色設置為透明色
imagepng($im , storage_path('test2.png'));//生成圖片
return false;
}