从图像中剪切任何形状(Imagik / Gd)

时间:2016-04-24 12:49:09

标签: php image gd imagick

有没有办法在PHP中从方形图像中剪切任何形状?

例如,我有心形图像:

enter image description here

另一张像心脏一样大小的图像。

最终形象:

enter image description here

所以我的问题是在PHP中有两种图像或一个图像产生这种效果吗?

1 个答案:

答案 0 :(得分:2)

您基本上只想将心脏模板的不透明度复制到汽车图片中。所以,在命令行,你会这样做:

#!/usr/local/bin/php -f
<?php
   $template=new Imagick('heart.png');
   $image   =new Imagick('motor.jpg');

   # Copy alpha from template over car image
   $image->compositeImage($template,imagick::COMPOSITE_COPYOPACITY,0,0);
   $image->writeImage('result.png');
?>

Go destructors?

在PHP中:

Task<List<MyBusinessObject>>[] tasks = new Task<List<MyBusinessObject>>[MyCollection.Count];

for (int i = 0; i < MyCollection.Count; i++)
{
    MyDTO dto = new MyDTO();

     --Some Property Assignment for the MyDTO object--

    tasks[i] = Task<List<MyBusinessObject>>.Factory.StartNew(MyDelegate, dto)

}

try
{
    Task.WaitAll(tasks);
}
catch (AggregateException e)
{
    AddToLogFile("Exceptions thrown by WaitAll() : ");

    for (int j = 0; j < e.InnerExceptions.Count; j++)
    {
        AddToLogFile(e.InnerExceptions[j].ToString());

    }
}  
catch(Exception ex)

{  

AddToLogFile(ex.Message);

}