欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-16 16:41:08
...
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");
//执行抠图操作。并输入到指定路径

抠图前(白底):

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

抠图后(png透明):

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

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);

抠图前

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

抠图后

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

3.剪切蒙版

<?php
$img="1.jpg";//背景
$mask="2.png";//蒙版图。png格式
exec("convert $img $mask -alpha on -compose copy_opacity -composite ouput.png");

背景

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

遮罩

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

最后效果

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

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');

背景图


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

叠加图(白底)

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

最终效果

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


混合模式参数说明: 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)模式

以上就是php抠图教程(混合模式+剪切蒙版) 的详细内容,更多请关注其它相关文章!

相关标签: PHP 抠图