如何将位图顺时针旋转 90 度?我正在使用下一个代码从存储中读取图像:
public async void GetImage()
{
string filename = code + ".jpg";
Windows.Storage.StorageFile sampleFile =
await Windows.Storage.KnownFolders.CameraRoll.GetFileAsync(filename);
BitmapImage img = new BitmapImage();
img = await LoadImage(sampleFile);
imageMain.Source = img;
}
private static async Task<BitmapImage> LoadImage(StorageFile file)
{
BitmapImage bitmapImage = new BitmapImage();
FileRandomAccessStream stream = (FileRandomAccessStream)await file.OpenAsync(FileAccessMode.Read);
bitmapImage.SetSource(stream);
return bitmapImage;
}
我想要旋转图像。 bitmapImage.Rotate 在 UWP 上不起作用。什么解决方案?
最佳答案
这可以通过RotateTransform来实现类
在代码隐藏中
RotateTransform _rotateTransform = new RotateTransform()
{
CenterX = imageMain.ActualWidth/2,
CenterY = imageMain.ActualHeight/2,
Angle = 90
};
imageMain.RenderTransform = _rotateTransform;
在XAML中
<Image Stretch="Fill" Source="Assets/Windows.jpg" x:Name="imageMain" Width="500" Height="500">
<Image.RenderTransform>
<RotateTransform CenterX="250" CenterY="250" Angle="90"/>
</Image.RenderTransform>
</Image>
** 如果您注意到,您会发现 CenterX
和 CenterY
大小是实际图像的一半。
祝你好运。
关于c# - 通过代码C# UWP旋转位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209084/