使用Cocoa将阴影添加到PNG

时间:2010-01-30 17:55:42

标签: iphone ipad png dropshadow

我有一些透明背景的PNG,我想以编程方式添加阴影。我已经看到了为方形物体添加阴影的例子,但没有看到任何复杂的形状。

所以我认为我必须做的两个步骤是:

  • 隔离PNG形状
  • 在PNG后面绘制一个模糊,褪色和偏移的形状。

我在Cocoa中绘制的经验不多,所以对于从哪里开始的任何见解都将非常感激!

截图: alt text http://www.iworkinprogress.com/images/pngExample.png

4 个答案:

答案 0 :(得分:3)

最简单的方法是在绘制图像之前在CGContextSetShadow中调用drawRect:

- (void)drawRect:(CGRect)invalidRect
{
    CGContextRef c = UIGraphicsGetCurrentContext();
    CGContextSetShadow(c, CGSizeMake(5.0f, 5.0f), 5.0f);
    [myImage drawAtPoint:CGPointMake(50.0f, 50.0f)];
}

答案 1 :(得分:1)

我发现这个类别非常有用:UIImage + Shadow.m

https://gist.github.com/kompozer/387210

答案 2 :(得分:0)

我不是一个真正的图形人,但是这个怎么样:如果你有这些图像的掩码,或者如果你可以用编程方式创建一个,那么你可以使用模糊功能添加阴影效果。

在Photoshop / Acorn / Pixelmator中进行实验?

答案 3 :(得分:0)

因为你想要阴影,就像它们都拥有相同的光源一样......看起来你可能会更好地使用OpenGL视图,从上方投射光线,图像将略微位于平面上方以进行投射一个影子。我会寻找可以让你轻松添加东西的3D OpenGL框架......