PHP中Photoshop叠加与不透明度的融合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中Photoshop叠加与不透明度的融合相关的知识,希望对你有一定的参考价值。
This function mimics Photoshop overlay blending by accepting two RGB arrays, one which will be overlayed and one which will overlay. Opacity is optional.
/** * Overlay blending * * This function mimics Photoshop overlay blending mode by accepting two RGB arrays, * one which will be overlayed and one which will overlay. The exact equation for overlay * is not known, however Kevin Jensen has a pretty accurate equation available on his website. * Please see http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/ * * @param array $bottom Color to be overlayed formatted as RGB array, i.e. for red array(255, 0, 0) * @param array $top Color which overlays $bottom formatted as RGB array, i.e. for white array(255, 255, 255) * @param float $opacity Optional opacity to be applied to the overlayed color in relation to $bottom * * @return array Color resulted in overlaying formatted as RGB array */ function blend_overlay($bottom, $top, $opacity = NULL) { // Overlay $bottom with $top foreach ($bottom as $i => $a) { $b = $top[$i]; if ($a < 128) { $overlay[$i] = (int) (2 * $b * $a / 255); } else { $overlay[$i] = (int) (255 * (1 - 2 * (1 - $b / 255) * (1 - $a / 255))); } } // Apply opacity to $overlay in relation to $bottom foreach ($overlay as $i => $b) { $a = $bottom[$i]; $overlay[$i] = (int) ((1 - $opacity) * $a + $opacity * $b); } } return $overlay; }
以上是关于PHP中Photoshop叠加与不透明度的融合的主要内容,如果未能解决你的问题,请参考以下文章
youcans 的 OpenCV 例程200篇190.基于图像分割的图像融合
使用Python,OpenCV制作图像Mask——截取ROIs及构建透明的叠加层
带alpha透明通道视频—网页播放带alpha通道视频叠加合成方案