我有這樣的代碼,在畫布上顯示一個矩形:模擬一個螺旋槳
XAML:
<Window x:Class="rotateRect.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:rotateRect"
mc:Ignorable="d"
Title="MainWindow" Height="402.027" Width="600.676">
<Grid>
<Canvas Name="my_c" HorizontalAlignment="Left" Height="24" Margin="160,149,0,0" VerticalAlignment="Top" Width="177" RenderTransformOrigin="0.5,0.5">
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-68.962"/>
<TranslateTransform/>
</TransformGroup>
</Canvas.RenderTransform>
</Canvas>
</Grid>
我可以用 「的RenderTransform」 把它在XAML。但我想在c#中實現這種旋轉並創建一個「螺旋槳」。我試圖爲畫布找到關於「RotateTransform」的信息。蒂斯是我的C#代碼:
C#:
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
namespace rotateRect
{
public partial class MainWindow : Window
{
Rectangle my_r = new Rectangle();
public MainWindow()
{
InitializeComponent();
initializeRect(my_r, my_c);
}
private void initializeRect(Rectangle r, Canvas c)
{
// rectangle
r.Width = 10;
r.Height = 50;
// rectangle Color
r.Fill = new SolidColorBrush(Color.FromRgb(0, 0, 255));
// canvas
c.Children.Add(r);
c.Width = 10;
c.Height = 50;
}
}
}
我發現「RotateTransform」的個例的位圖對象,但我還沒有找到一個帆布什麼。 C#, rotating Graphics?
可以將RotateTransform應用於c#中的畫布嗎?
非常感謝!它工作得很好。 – Jguillot