我正在尝试将旋转的图像复制到代码隐藏中的现有图像。
以下是我的2张图片:
<Image x:Name="tempImage1" Source="Images/firstImage.jpg" Stretch="None" VerticalAlignment="Center" HorizontalAlignment="Center" />
<Image x:Name="myImage2" Source="Images/secondImage.jpg" Stretch="None" VerticalAlignment="Center" HorizontalAlignment="Center" />
代码隐藏中的轮换:
RotateTransform rt = new RotateTransform(-theta, 200, 300);
tempImage1.RenderTransform = rt;
myImage2.Source = tempImage1.Source;
我知道我做得不对(对此仍然很新)。有人可以帮我指点正确的方向吗?我正在寻找的结果是让myImage2以旋转形式显示tempImage1,而不是原始来源。
答案 0 :(得分:2)
使用RenderTargetBitmap为我解决了这个问题。
在XAML中使用图片tempImage1
和myImage2
:
RenderTargetBitmap rtb = new RenderTargetBitmap(_width, _height, 96, 96, PixelFormats.Default);
rtb.Render(tempImage1);
myImage2.Source = rtb;
以上是在tempImage1
已被轮换和转换的假设下完成的。
答案 1 :(得分:0)
好吧,如果你这样做,你必须知道第一张图像是可见的,因为它在背景中很好我根据你的问题以30度的角度旋转,XAML保持不变,新的C#代码是
RotateTransform rt = new RotateTransform();
rt.Angle = 30;
tempImage1.RenderTransform = rt;
myImage2.Source = tempImage1.Source;