首页 文章

如何将柔和形状的阴影应用于具有透明区域的图形?

提问于
浏览
4

通常我正在使用CALayer shadowRadius,但现在我还需要使用UIImage并根据图像中的内容对其应用形状阴影 .

例如,当我有一个包含文本的图层并设置阴影时,它会自动在文本上工作,而不仅仅在图层的矩形上 .

在Photoshop中,这称为“图层样式”,它会根据图像内容的形状自动运行 .

我担心我需要实施哈佛 - 斯坦福 - 麻省理工学院 - 美国国家航空航天局的一种硬核逻辑,在“形状图像”上应用阴影,即图标周围区域完全透明的圆形图标图像 .

我能够按照像素级别操作图像,因为我这样做已经绘制了图表,所以如果有一些奇妙算法的开源实现,这将是非常棒的 . 如果没有:这基本上如何工作?我的猜测是,我会“只是”尝试以某种方式模糊我的图像的灰度版本,然后用非模糊版本覆盖它 .

1 回答

  • 2

    我的猜测是我会“只是”尝试以某种方式模糊我的图像的灰度版本,然后用非模糊版本覆盖它 .

    实际上,这就是它 . 除了模糊图像的灰度版本之外,模糊图像的纯色版本(即保持alpha通道,但使所有像素变黑) . 虽然CALayer的阴影应该已经为你做了 .

    如果您的图像已经合成到背景上(即没有真正的透明度),那么您将面临更难的问题,因为您首先需要“移除”背景,然后才能获得对象的形状以生成阴影 .

相关问题