php摳圖教程(混合模式+剪下蒙版)

來源:互聯網
上載者:User
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");//執行摳圖操作。並輸入到指定路徑

摳圖前(白底):

摳圖後(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);

摳圖前

摳圖後

3.剪下蒙版

<?php$img="1.jpg";//背景$mask="2.png";//蒙版圖。png格式exec("convert $img $mask -alpha on -compose copy_opacity -composite ouput.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');

背景圖


疊加圖(白底)

最終效果


混合模式參數說明: 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)模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.