Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用Cocoa将阴影添加到PNG_Iphone_Ipad_Png_Dropshadow - Fatal编程技术网

Iphone 使用Cocoa将阴影添加到PNG

Iphone 使用Cocoa将阴影添加到PNG,iphone,ipad,png,dropshadow,Iphone,Ipad,Png,Dropshadow,我有一些PNG与透明的背景,我想添加阴影编程。我见过向方形对象添加阴影的例子,但没有见过任何复杂形状的例子 所以我想我必须做的两个步骤是: 隔离PNG形状 在PNG后面绘制模糊、褪色和偏移的形状 我在Cocoa中没有太多的绘图经验,因此任何关于从何处开始的见解都将不胜感激 截图: (来源:)我不是一个真正的图形人,但这是怎么回事:如果你有一个用于这些图像的遮罩,或者如果你可以通过编程创建一个,那么你可能可以使用模糊功能来添加阴影效果 在Photoshop/Acorn/Pixelmator中

我有一些PNG与透明的背景,我想添加阴影编程。我见过向方形对象添加阴影的例子,但没有见过任何复杂形状的例子

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

  • 隔离PNG形状
  • 在PNG后面绘制模糊、褪色和偏移的形状
我在Cocoa中没有太多的绘图经验,因此任何关于从何处开始的见解都将不胜感激

截图:

(来源:)

我不是一个真正的图形人,但这是怎么回事:如果你有一个用于这些图像的遮罩,或者如果你可以通过编程创建一个,那么你可能可以使用模糊功能来添加阴影效果


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

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

最简单的方法是在你的
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)];
}

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


尝试以编程方式执行此操作,以便在应用程序中旋转时,它们看起来具有相同的光源。