旋转BitmapImage

我想旋转位图图像我写了一些代码,它的工作原理

TransformedBitmap TempImage = new TransformedBitmap(); TempImage.BeginInit(); TempImage.Source = MyImageSource; // MyImageSource of type BitmapImage RotateTransform transform = new RotateTransform(90); TempImage.Transform = transform; TempImage.EndInit(); image1.Source = TempImage; 

但我希望MyImageSource得到这个修改,因为就像那样,如果我再次点击按钮没有任何事情发生,这是正常的,它得到我的图像的第一种forms,我也希望它采取这种forms,因为我必须保存后修改它。

为什么我要这样做:

我有一些tiff图像阅读其中一些可能是不正确的forms我想添加翻转90°用户点击它直到图像返回到正确的forms,当他点击翻转图像将被保存(更换)以用户选择的实际forms在磁盘上

这个怎么样?

 var transformBitmap = (TransformedBitmap)image1.Source; RotateTransform rotateTransform = (RotateTransform)(transformBitmap.Transform); rotateTransform.Angle += 90; image1.Source = transformBitmap.Clone(); 

这个怎么样:

 BitmapImage image = new BitmapImage(); image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = new Uri(ImagePath); // here image.Rotation = Rotation.Rotate270; // or 90, 0, 180 image.EndInit();