Поворот BitmapImage - PullRequest
       6

Поворот BitmapImage

1 голос
/ 06 июля 2011

В моем ModelView у меня есть ObservableCollection BitmapImages, который отображается в виде списка в моем представлении. Я пытаюсь повернуть выбранное изображение в ObservableCollection.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Хорошо, разобрался, и вы можете дать мне знать, если что-то выглядит глупо

//Create a transform
TransformedBitmap tBmp = new TransformedBitmap();
tBmp.BeginInit();

//Set the source = to the image currently selected
tBmp.Source = _Scans[_selectedImage].MyImage;
RotateTransform rt = new RotateTransform(180);
tBmp.Transform = rt;
tBmp.EndInit();

//Create a new source after the transform
BitmapSource s1 = tBmp;
BitmapImage bi = BitmapSourceToBitmapImage(s1);

//Add create the item and replace the current item in the collection
//edited according to comment
//ScannedImages s = new ScannedImages();
//s.MyImage = bi;
//_Scans[_selectedImage] = s;
Scans[_selectedImage].MyImage = BitmapSourceToBitmapImage(s1);
0 голосов
/ 06 июля 2011

В вашем DateTemplate, где вы определяете, как вы хотите отображать свое изображение (как элемент ListBox), вы можете использовать свойство .RenderTransform для преобразования / поворота вашего элемента управления.

Пример для кнопки:

<Button
            <Button.RenderTransform>
                <RotateTransform CenterX="0" CenterY="0" Angle="45"/>
            </Button.RenderTransform>
            Test</Button>

Подробнее о том, как вращать объект?MSDN Статья

...