ALPHA通道如何给图像添加阴影效果??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ALPHA通道如何给图像添加阴影效果??相关的知识,希望对你有一定的参考价值。

首先请看1个例子,这个图的ALPHA通道中图像就有阴影效果。 我不知道它是怎么被编辑出来的。 因为只有在ALPHA通道编辑出来这种渐变的阴影,TGA图像才能有透明的阴影效果。 请高手指教!! ++++ 我会建立ALPHA通道。也知道黑白灰代表的意义。 请看我的图示,图2中的ALPHA通道的图是有白色羽化渐变阴影的。 我就是要问这种阴影是怎么实现的?

参考技术A 我刚才试过了,颜色模式(rgb、kmyk、lab、索引颜色)都支持alpha通道,图像模式:位图不支持alpha通道。

创建阴影视图

【中文标题】创建阴影视图【英文标题】:Creating a shadow view 【发布时间】:2012-03-04 22:40:59 【问题描述】:

我有一个 UIView 设置为“阴影”,我将此视图放在 UIImageView 后面以创建阴影效果。唯一的问题是,如果你降低图像的 alpha,你可以看到 UIView 的白色部分。如何隐藏除阴影之外的整个 UIView?将 backgroundColor 设置为 clearColor 会隐藏视图和阴影,这无济于事。谢谢。

shadow.alpha = 0.95;
shadow.layer.cornerRadius = 10;
shadow.layer.shadowColor = [UIColor blackColor].CGColor;
shadow.layer.shadowOpacity = 1.0;
shadow.layer.shadowRadius = 10.0;
shadow.layer.shadowOffset = CGSizeMake(0, 4);

【问题讨论】:

非常感谢........因为这段代码帮我做了一个影子。 【参考方案1】:

您是否尝试过修改 UIImageView 的图层以拥有阴影,而不是拥有两个视图?

如果这不能提供所需的输出,黑色 UIView 是否有效?如果您发布屏幕截图和所需的效果,也许我可以提供更多帮助。

【讨论】:

我听取了您的建议,解决了错误,并让它以这种方式工作。感谢您的帮助!【参考方案2】:

我认为使用内置影子工具无法完成您尝试的操作。正如您所发现的,为了让 Quartz 有轮廓自动阴影,必须绘制一些东西。 (在这种情况下,它是视图的背景圆角。)

如果您为阴影视图的图层指定一个显式的圆形阴影路径,这将消除视图实际绘制任何内容的需要。但是,阴影本身似乎是通过填充阴影路径然后模糊和平移生成的图像来构建的,因此您最终会得到与视图的黑色背景基本相同的效果。

我同意 Ryan Oksenhorn 的观点,即您最好使用图像视图本身。如果你在那里添加一个阴影,它的不透明度会随着视图的下降而下降,但这可能会更好。您真的要淡化图像并留下无实体的阴影吗?

【讨论】:

【参考方案3】:

你怎么设置

shadow.backgroundColor = [UIColor blackColor];
shadow.alpha = 1.0;

【讨论】:

以上是关于ALPHA通道如何给图像添加阴影效果??的主要内容,如果未能解决你的问题,请参考以下文章

自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果

自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果

如何利用shader在文字上添加渐变阴影的效果

CSS3阴影效果

如何在android中的drawable上添加阴影效果

创建阴影视图