旋转并翻转图像

时间:2015-07-21 23:39:52

标签: c# .net

我想水平翻转图像。当用户单击按钮时会发生这种情况。我在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

将其翻转,但我所做的一切都不会翻转它。我怎么能做到这一点?

3 个答案:

答案 0 :(得分:1)

缺乏DotNet Image类的任何经验,您是否尝试过System.Drawing.Image.RotateFlip函数?请参阅以下链接。

看起来这可能会做你想要的。

Image.RotateFlip(RotateFlipType.RotateNoneFlipX);

在翻转图像后,您可能无法重绘图像。您可能需要调用Invalidate()来指示应重新绘制图像/区域。

C#: Flip image horizontally

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是让这个工作起作用的关键部分,因为我认为我有同样的问题,它没有更新,这可能已经解决了它