I have 2 BitmapImages in a List:
BitmapImage img1 = new BitmapImage((new Uri("Images/image1.jpg", UriKind.Relative)));
BitmapImage img1 = new BitmapImage((new Uri("Images/image2.jpg", UriKind.Relative)));
List<BitmapImage> images = new List<BitmapImage>();
images.Add(img1);
images.Add(img2);
How do I rotate both bitmap images with the push of a button?
I have tried the solution (shown below) from MSDN, but I'm getting "no definition for 'Source'".
private void TurnLeft_Click(object sender, RoutedEventArgs e)
{
//Create source
BitmapImage bi = new BitmapImage();
//BitmapImage properties must be in a BeginInit/EndInit block
bi.BeginInit();
bi.UriSource = new Uri("Images/image1.jpg", UriKind.Relative);
//Set image rotation
bi.Rotation = Rotation.Rotate270;
bi.EndInit();
//set BitmapImage "img2" from List<BitmapImage> from source
img2.Source = bi;
}
Take a look the following segments of code.
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Image x:Name="Image1" Stretch="Uniform" >
<Image.Source>
<BitmapImage UriSource="Images/logo.png"/>
</Image.Source>
</Image>
<Button x:Name="TurnLeftButton" Content="TurnLeft"
Click="TurnLeftButton_Click"
Grid.Row="1"/>
</Grid>
Code behind:
private void TurnLeftButton_Click(object sender, RoutedEventArgs e)
{
var biOriginal = (BitmapImage) Image1.Source;
var biRotated = new BitmapImage();
biRotated.BeginInit();
biRotated.UriSource = biOriginal.UriSource;
biRotated.Rotation = Rotation.Rotate270;
biRotated.EndInit();
Image1.Source = biRotated;
}
dbvega has answered my question. However, there is a cast exception and I thought I'd address it for anyone who is using my question to solve your error(s).
The correct C# code for dbvega's example should look like this:
private void TurnLeftButton_Click(object sender, RoutedEventArgs e)
{
var biRotated = new BitmapImage();
biRotated.BeginInit();
biRotated.UriSource = new Uri("Images/logo.png", UriKind.Relative);
biRotated.Rotation = Rotation.Rotate270;
biRotated.EndInit();
Image1.Source = biRotated;
}
Hats off to dbvega though - problem solved!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.