Повернуть растровое изображение - PullRequest
3 голосов
/ 05 сентября 2011

Я хочу повернуть растровое изображение. Я написал некоторый код, и он работает

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 ]

2 голосов
/ 17 июня 2016

Как насчет этого:

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();
2 голосов
/ 05 сентября 2011

Как насчет этого?

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