PHP的乘以蒙版混合图像

时间:2018-08-13 19:48:19

标签: php gd

我需要将三个图像与一个蒙版相乘,如下所示 photoshop 我尝试以下代码:

<div class="ql-editor" data-gramm="false" data-placeholder="Compose an epic..." contenteditable="true">
    <p>
       <strong>erwrewer</strong>
    </p>
</div>

但是此代码未使用遮罩的阴影(灰色,深灰色等)。我如何使用阴影遮罩?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法

function multiply_mask($image, $mask, $color)//gd image, gd mask
{
    $imagex = imagesx($image);
    $imagey = imagesy($image);
    for ($x = 0; $x < $imagex; ++$x) {
        for ($y = 0; $y < $imagey; ++$y) {
            $maskinfo = rgb($mask, $x, $y);
            $rgb = imagecolorat($image, $x, $y);
            $rgba = $maskinfo['red'] / 2;
            $rgba = 127 - $rgba;
            if ($maskinfo['red'] == 0)
                continue;
            $TabColors = imagecolorsforindex($image, $rgb);
            $color_r = floor((($TabColors['red'] * $color[0] / 255)));
            $color_g = floor(($TabColors['green'] * $color[1] / 255));
            $color_b = floor(($TabColors['blue'] * $color[2] / 255));
            $newcol = imagecolorallocatealpha($image, $color_r, $color_g, $color_b, $rgba);
            imagesetpixel($image, $x, $y, $newcol);
        }
    }
    return $image;
}

$color = array(255, 123, 0);
$image = multiply_mask($image, $mask, $color);