如何从彩色图像动画转换为灰度图像?

3

我正在制作一个带有彩色图像的应用封面,并希望通过动画使该图像变为灰色。

我已经使用NYXImagesKit创建了一张灰度图像。 但是我不知道如何使用UIImage在这两个图像之间进行动画。

1个回答

3

1: 创建两个框架相同的图像视图。

2: 将它们作为子视图添加到同一个父视图中,一个在上面,一个在下面。

3: 将它们的image属性分别设置为彩色和灰度图像。

4: 将包含彩色图像的图像视图的alpha属性设置为1.0,并将此属性设置为另一个图像视图(显示灰度图像的那个)上的0.0

5: 然后只需反向淡入淡出这两个图像视图:

[UIView animateWithDuration:1.0 animations:^{
    grayscaleImageView.alpha = 1.0;
    coloredImageView.alpha = 0.0;
}];

这是一种很好的在两张图片之间进行动画处理的方法。但我发现动画效果并不太流畅。彩色图片会变暗,而灰色图片则会变亮。这两张图片很容易被区分开来。 - Yanjun
我发现如果在动画之前设置grayscaleImageView.alpha = 0.5;,它看起来会更加平滑。感谢@H2CO3。 - Yanjun

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