要在C#中實現SVG動畫效果,可以使用WPF(Windows Presentation Foundation)來處理SVG文件,并在其中添加動畫效果。以下是一個簡單的示例代碼,演示如何在C#中使用WPF和XAML來創建SVG動畫效果:
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SVGAnimation
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Canvas canvas = new Canvas();
canvas.Width = 200;
canvas.Height = 200;
// 創建一個SVG形狀
Path svgPath = new Path();
svgPath.Data = Geometry.Parse("M 10 100 Q 77.5 10 145 100 T 280 100");
svgPath.Fill = Brushes.Blue;
// 將SVG形狀添加到畫布上
canvas.Children.Add(svgPath);
Canvas.SetLeft(svgPath, 0);
Canvas.SetTop(svgPath, 0);
// 創建動畫效果
DoubleAnimation animation = new DoubleAnimation();
animation.From = 0;
animation.To = 200;
animation.Duration = TimeSpan.FromSeconds(2);
animation.AutoReverse = true;
animation.RepeatBehavior = RepeatBehavior.Forever;
// 應用動畫效果到SVG形狀
Canvas.SetLeft(svgPath, 0);
svgPath.BeginAnimation(Canvas.LeftProperty, animation);
Content = canvas;
}
}
}
在上面的示例中,我們創建了一個窗口,并在其中添加了一個Canvas元素。然后創建了一個SVG形狀(Path),并將其添加到Canvas上。接著創建了一個DoubleAnimation動畫效果,并將其應用到SVG形狀的左側位置屬性(Canvas.LeftProperty)。最后,在窗口的內容中添加了Canvas元素,以顯示SVG形狀和動畫效果。
通過使用WPF和XAML,我們可以輕松地在C#中實現SVG動畫效果。您可以根據需要調整SVG形狀、動畫效果及其屬性,以實現不同類型的動畫效果。