我想水平翻转图像。当用户单击按钮时会发生这种情况。我在C#中创建Image newImage = new Image();
,如下所示:
ScaleTransform transform = new ScaleTransform();
transform.ScaleY = -1;
SelectedImage.RenderTransform = transform; //Where SelectedImage is the Image I want to rotate.
我试过了:
body
将其翻转,但我所做的一切都不会翻转它。我怎么能做到这一点?
答案 0 :(得分:1)
缺乏DotNet Image类的任何经验,您是否尝试过System.Drawing.Image.RotateFlip函数?请参阅以下链接。
看起来这可能会做你想要的。
Image.RotateFlip(RotateFlipType.RotateNoneFlipX);
在翻转图像后,您可能无法重绘图像。您可能需要调用Invalidate()来指示应重新绘制图像/区域。
https://msdn.microsoft.com/en-us/library/system.drawing.image.rotateflip(v=vs.110).aspx
答案 1 :(得分:0)
我不知道这是用.NET完成的,但是......
我推荐这个好的图书馆。我很确定你可以翻转图像并用它旋转图像 http://magick.codeplex.com/
那里有一个Flip()方法。 也是一个Rotate()方法。这些方法的工作原理相同。
MagickImage example = new MagickImage("myimage.PNG");
example.Rotate(90); // Rotates 90 degrees counter clockwise
example.Write();
希望我帮助过:)
答案 2 :(得分:0)
这样的东西应该可行,这是基于我在目前正在使用的通用Windows平台应用程序中使用的东西,这对我有用:
newImage.RenderTransformOrigin = new Point { X = 0.5, Y = 0.5 };
newImage.RenderTransform = new ScaleTransform() { ScaleY = -1 };
newImage.UpdateLayout();
我认为UpdateLayout是让这个工作起作用的关键部分,因为我认为我有同样的问题,它没有更新,这可能已经解决了它