php 图片抠图,php抠图教程(混合模式+剪切蒙版)

PS:本文所述所有内容都需要ImageMagick库支持。一般主机都支持,但个人自己搭建本地环境默认没有开启ImageMagick。exec函数也不可以禁用。

1.抠图<?php

//纯色底抠图

$input="./1.jpg";

//待抠图文件路径

$ouput="./1.png";

//存放路径

$bgcolor="white";

//背景颜色。可使用十六进制色码和rgb(1,1,1)

$fuzz="30000";

//容差

exec("convert $input -fuzz $fuzz -transparent $bgcolor $ouput");

//执行抠图操作。并输入到指定路径

抠图前(白底):

3cf012983ef5834c34dc8b58a58aaa63.png

抠图后(png透明):

c96bf878727ffedf4a68d5b5ea1f5ab1.png

2.羽化边缘(自动检测背景)<?php

$A1='1.png';

$A2='2.png';

$A3='3.png';

$A4='4.png';

$A5='5.png';

$img='待扣图.jpg';

$im = new Imagick($img);

//8000为边缘容差,修改此数值可适当去除多余相似杂色

$im->transparentPaintImage($im->getImagePixelColor(0, 0), 0, 8000,0);//生成png格式

$im->setImageFormat("png");//保存文件名

$im->writeImage("$A1");//细化边缘

exec("convert $A1 -threshold 75% $A2");

exec("convert $A2 -fill black -opaque white $A3");

exec("convert $A3 -channel RGBA -blur 0x2 $A4");

exec("convert $A1 $A4 -alpha on -compose copy_opacity -composite $A5");

//删除临时图片

unlink($A1);

unlink($A2);

unlink($A3);

unlink($A4);

抠图前

a811ba9384273a6742eaa7c300786e0d.png

抠图后

dea296a73c889ef25df4338fdd8c0993.png

3.剪切蒙版<?php

$img="1.jpg";//背景

$mask="2.png";//蒙版图。png格式

exec("convert $img $mask -alpha on -compose copy_opacity -composite ouput.png");

背景

487efe82917c8abcf657dbf76db724b6.png

遮罩

2294920d2c7f2acfdbd398e68254672f.png

最后效果

583d660d69200d6188b94961559c8203.png

4.混合模式<?php

//-geometry size size 叠加到指定位置坐标

//-compose xxxx 混合模式

$img=‘1.jpg’;//背景图

$img2=‘2.jpg’;//贴图

exec('convert $img $img2 -geometry +480+80 -compose Multiply -composite ouput.jpg');

背景图

173e98efe50e810cecd61086af092295.png

叠加图(白底)

3f6fd0dd0feacc5133914bb325bde5d6.png

最终效果

52a9b714db2f7b995b0893f8366392d5.png

混合模式参数说明: ps:-compose 后面的参数为混合模式

php支持支持以下混合模式参数

Multiply, Screen, Bumpmap, Divide, Plus, Minus,

ModulusAdd, ModulusSubtract, Difference, Exclusion, Lighten, Darken, LightenIntensity, DarkenIntensity,

混合模式中英文对照

1. 正常(Normal)模式

2. 溶解(Dissolve)模式

3. 变暗(Darken)模式

4. 正片叠底(Multiply)模式

5. 颜色加深(Clolor Burn)模式

6. 线性加深(Linear Burn)模式

7. 变亮(Lighten)模式

8. 滤色(Screen)模式

9. 颜色减淡(Clolor Dodge)模式

10. 线性减淡(Linear Dodge)模式

11. 叠加(Overlay)模式

12. 柔光(Soft Light)模式

13. 强光(Hard Light)模式

14. 亮光(Vivid Light)模式

15. 线性光(Linear Light)模式

16. 点光(Pin Light)模式

17. 差值(Diference)模式

18. 排除(Exclusion)模式

19. 色相(Hue)模式

20. 饱和度(Saturation)模式

21. 颜色(Color)模式

22. 亮度(Luminosity)模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值