Rotate a BitmapImage

本文关键字:BitmapImage Rotate | 更新日期: 2023-09-27 18:07:53

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

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得到这个修改,因为如果我再次点击按钮什么也没发生这个正常它会得到我的图像的第一种形式,我还想让它采用这个形式因为修改后我需要保存它。

为什么我必须这样做:

我有一些tiff格式的图片需要读取其中一些格式可能不正确我想添加翻转90°用户点击它直到图像恢复到正确的格式当他点击翻转时图像将被保存(替换)在磁盘上以用户选择的实际格式

Rotate a BitmapImage

这个怎么样:

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();

这个怎么样?

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