用于通过颜色变化获得振动效果的组件

时间:2012-09-14 05:10:35

标签: c# animation microsoft-metro

今天我正在设计地铁应用中的吉他应用程序。我需要为吉他音品创建一个组件。

enter image description here

拜托,有没有人知道如何实施它? 谢谢。

1 个答案:

答案 0 :(得分:0)

据我了解,您正在询问如何为字符串创建振动视觉效果。

基本思想是模拟运动,就像真正的弦乐移动一样。实现这种振动视觉效果的最简单方法可能是在弦上创建一个运动(方向)模糊,方向垂直于弦。

这是我使用After Effects(动画软件)做的一个例子: enter image description here

在第一种情况下,我在字符串(矩形)上使用了简单的方向模糊。在第二种情况下,我添加了第二层,其中包含相同的矩形/字符串,但模糊量较小,在我看来,它给出了更好的动画效果。

现在明显的问题是你如何在Metro / C#中做到这一点?我不熟悉这个框架,所以我不知道具体如何,但我可以告诉你两种方法:

  1. AFAIK,metro使用WPF,WPF有一个你可以使用的模糊效果,虽然我怀疑它可以是方向性的。但是,如果你的字符串足够简单,并且边缘在屏幕上看不到,它可以正常工作。

  2. 困难之处:逐像素生成模糊。要做到这一点,您需要知道每个像素都会与周围的像素混合。方向模糊仅与该方向上的像素混合,而普通模糊将与其周围的所有像素混合。半径表示您混合的像素数。

    混合意味着计算颜色之间的加权平均值(颜色分量),离当前像素越远,权重越小。

    如果你想这样做,这些维基百科文章是好的读物:Box blurGaussian blur,你可以在这里找到公式,想法。