【问题标题】:PHP emboss with color带颜色的 PHP 浮雕
【发布时间】:2012-02-24 18:52:42
【问题描述】:

我需要在 PHP 中为图像制作浮雕效果。但是我需要保持真实的颜色,就像http://loriweb.pair.com/8udf-emboss.html中的地球图一样

我的最终目标是像http://www.flickr.com/photos/52700219@N06/6729984045/in/photostream/ 这样产生效果,而我只能通过为那里的每个方格画出灰线来实现像这样http://www.flickr.com/photos/52700219@N06/6759029339/ 的效果。

到目前为止,我只发现浮雕效果会使图像颜色变得像灰色一样 使用图像卷积或 IMG_FILTER_EMBOSS 时。 我该怎么做?

【问题讨论】:

    标签: php image colors emboss


    【解决方案1】:

    您在“地球”示例中展示的浮雕效果只是一个通用卷积核。您可以使用imageconvolution() 实现相同的效果:

    $kernel = array(array(1, 1, -1), array(1, 1, -1), array(1, -1, -1));
    imageconvolution($image, $kernel, 1, 0);
    

    【讨论】:

    • 哇罗素,它的工作原理!谢谢你^^。但我需要解释一下,哪个部分使颜色保持不变?
    • 图像卷积只是意味着输出图像中的每个像素都是通过将附近的九个像素乘以内核中的值而得到的。因此,您使用的内核只是将中心像素及其左侧和上方的所有像素相加,并减去其下方和右侧的像素,以获得最终结果。根据输出,我认为IMG_FILTER_EMBOSS 正在做一些不同的事情——也许是索贝尔梯度。
    猜你喜欢
    • 1970-01-01
    • 2020-11-22
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多