【问题标题】:How to make this image effect, any library that can help with it如何制作这种图像效果,任何可以帮助它的库
【发布时间】:2011-08-26 21:05:03
【问题描述】:

你知道这样的浮雕效果是否可以用编程包来完成。有人可以提出一些建议

【问题讨论】:

    标签: php image-processing imagemagick image-manipulation gd


    【解决方案1】:

    这可能会有所帮助:http://www.imagemagick.org/Usage/fonts/

    【讨论】:

      【解决方案2】:

      看起来标签已经为您解决了......这看起来就像是在ImageMagick的小巷里。

      查看here 了解一些优秀的 PHP ImageMagick 水印示例。

      【讨论】:

      • 呃,是的。对不起。编辑删除。
      【解决方案3】:

      像这样的简单效果通常是使用卷积核实现的,其中图像从源转换为新副本。每个新像素都被计算为其源像素和源图像中相邻像素子集的线性组合(加权和)。

      例如,您可以(抽象地)定义一个内核,例如:

       0  0  0
       0  9 -3
       0 -3 -3
      

      这里,矩阵的中心表示对于要计算的每个新像素值应用于相应源像素的权重。周围的值表示在求和以计算新像素的总值之前应应用于相应相邻像素的权重。

      在实践中,这可能用于创建具有以下伪代码的新浮雕图像:

      for y in source.height:
          for x in source.width:
              newImage[x,y] = source[x,y]*9
                            + source[x+1,y]*-3
                            + source[x,y+1]*-3
                            + source[x+1,y+1]*-3
      

      有一些明显的实现细节被遗漏了,例如如何处理图像的边缘(一种选择是假设图像围绕其边缘镜像),以及实际应用任意系数矩阵而不是硬-如上所述对加权和进行编码。希望这至少能传达出操作的核心是多么简单。

      【讨论】:

      • 这将压印整个图像,而不仅仅是文本。
      • 我的假设是他只指文本部分,就好像它是作为独立图像生成然后覆盖在背景上一样。否则,执行这样的操作将是极其困难且不必要的。在这种情况下,可以生成浮雕文本图像,然后将其作为凹凸贴图应用于源,但除非问题得到澄清,否则我将保持原样。
      【解决方案4】:

      与GD:

      1. 创建一个与原来大小相同的新透明图像 - imagecreatetruecolor()
      2. 在该图像中绘制文本 - imagettftext() / imagettfbbox() - 提示:IMG_COLOR_TRANSPARENT
      3. 应用IMG_FILTER_EMBOSS 过滤器 - imagefilter()
      4. 将浮雕文字复制到原始图像上 - imagecopymerge()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-25
        • 1970-01-01
        • 2012-08-10
        • 2015-03-31
        • 1970-01-01
        • 2013-06-29
        • 2021-02-22
        相关资源
        最近更新 更多