使用Cocoa添加PNG的投影效果

4
我有一些带透明背景的PNG图像,我想通过程序添加阴影。我看到过给正方形对象添加阴影的示例,但是没有看到过复杂形状的阴影示例。
所以我认为我需要做的两个步骤是:
- 隔离PNG形状 - 在PNG后面绘制一个模糊、淡化和偏移的形状。
我对在Cocoa中进行绘图没有太多经验,因此任何关于从哪里开始的见解都将不胜感激!
屏幕截图: alt text
(来源:iworkinprogress.com)
4个回答

3

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

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

1

0

我不是一个专业的图像设计师,但这个问题我可以给你一些建议:如果你有这些图片的蒙版,或者你可以通过程序创建它们,那么你就可以使用高斯模糊函数来添加类似于阴影的效果。

你可以在Photoshop/Acorn/Pixelmator中尝试一下这个方法?


尝试以编程方式实现,这样当它们在应用程序中旋转时,它们看起来具有相同的光源。 - Steven Baughman

0

既然你想要阴影看起来像它们都有相同的光源...似乎你最好使用OpenGL视图,从上方投射光线,图像会略微悬浮在平面上以投射阴影。我建议你寻找一些3D OpenGL框架,这样你可以很容易地添加物体...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接