如何创建凸版效果?

时间:2011-02-22 04:39:52

标签: objective-c cocoa macos

我希望在我的应用程序中实现类似着名的“凸版印刷”效果。这就是我所说的:(只是PShop中的一个简单例子) Letterpress effect

正如您所看到的,它看起来像被压入背景中。我想知道是否有可能在Mac 动态上做这样的事情。有办法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用我在this answer中提供的代码执行文本的渐变填充部分。首先检查坐标空间,因为我描述了iPhone,它与Mac的普通石英坐标相比具有反转的Y轴。

文本首先用于创建剪切路径,并在该路径中绘制渐变。

就内部阴影而言,您可以通过使用具有适当向下偏移和黑色的CGContextSetShadowWithColor()绘制渐变后绘制此阴影,然后仅使用文本笔划再次绘制文本。 deanWombourne在他的回答here中有类似任务的示例代码。

答案 1 :(得分:1)

  1. 使用普通字体绘制文本以创建文本的黑白位图。
  2. 绘制另一张相同尺寸的图像,并完全填充上面的灰色到白色渐变。
  3. 创建一个与其他图像尺寸相同的完全白色图像。
  4. 使用NSCompositeDestinationOut将背面和白色文本图像(1)绘制到白色图像(3)上。
  5. 这样可以为您提供白色图像,并删除文字。

    使用在渐变图像顶部剪切的文本绘制白色图像,并在绘制时应用阴影。