如何使这个图像效果,任何可以帮助它的库

时间:2011-05-17 00:55:38

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

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

enter image description here

4 个答案:

答案 0 :(得分:2)

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

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

 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

有明显的实现细节,例如如何处理图像的边缘(一个选项是假设图像是关于其边缘镜像的),以及实际应用任意系数矩阵而不是硬 - 如上编码加权和。希望这至少可以说明操作的核心是多么简单。

答案 1 :(得分:2)

使用GD:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

看起来这些标签为你找到了......这看起来像ImageMagick的小巷里的东西。

查看here以获取一些优秀的PHP ImageMagick水印示例。