使用PHP-Imagick快速实现漂亮的复古效果

先来看下效果图

复古效果展现

要实现以上效果,咱们先用Photoshop用如下步骤实现。php

  1. 打开原图git

  2. 新建图层,使用颜色#C0FFFF填充后,不透明度设为44%,图层混合模式为柔光github

  3. 新建图层,使用颜色#000699填充后,不透明设置为48%,图层混合模式为排除spa

  4. 合并图层3d

PHP-Imagick 实现

PHP 代码,也就只须要按照以上步骤实现便可,代码以下:code

//打开图片
$im = new Imagick('./hebe.jpg');

//新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#C0FFFF');
$layer->setImageOpacity (0.44);
//叠加到原图上,图层混合模式为`柔光`
$im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0);

//新建图层,使用颜色`#000699`填充后,不透明设置为`48%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#000699');
$layer->setImageOpacity (0.48);
//叠加到原图上,图层混合模式为`排除` 
$im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0);

//完成!
$im->writeImage('./vintage.jpg');

附录

相关文章
相关标签/搜索