旋转BitmapImage

时间:2011-09-05 13:54:09

标签: c# wpf 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得到这个修改,因为就像那样,如果我再次点击按钮没有任何事情发生,这是正常的,它得到我的图像的第一个形式,我也希望它采取这种形式,因为我必须保存它经过修改。

为什么我必须这样做:

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

2 个答案:

答案 0 :(得分:2)

这个怎么样?

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

答案 1 :(得分:2)

这个怎么样:

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();
相关问题