gpt4 book ai didi

c# - 在 Windows Phone 中旋转图像

转载 作者:行者123 更新时间:2023-11-30 14:36:36 25 4
gpt4 key购买 nike

我在我的一个页面上展示了一张我拍的照片。

我在人像模式下拍照,效果不错。

当我在下一个 View 中显示照片时,它会将照片视为在风景中拍摄的照片。

所以我需要将图片/图像旋转 -90 度来纠正这个问题。

这是我的.XAML的相关代码:

    <!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanelx" Grid.Row="1" Margin="0,0,0,0">
</Grid>

下面是我加载照片并将其放入 ContentPanel 的方法:

void loadImage()
{
// The image will be read from isolated storage into the following byte array

byte[] data;

// Read the entire image in one go into a byte array

using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{

// Open the file - error handling omitted for brevity

// Note: If the image does not exist in isolated storage the following exception will be generated:

// System.IO.IsolatedStorage.IsolatedStorageException was unhandled

// Message=Operation not permitted on IsolatedStorageFileStream

using (IsolatedStorageFileStream isfs = isf.OpenFile("0.jpg", FileMode.Open, FileAccess.Read))
{

// Allocate an array large enough for the entire file

data = new byte[isfs.Length];



// Read the entire file and then close it

isfs.Read(data, 0, data.Length);

isfs.Close();

}
}



// Create memory stream and bitmap

MemoryStream ms = new MemoryStream(data);

BitmapImage bi = new BitmapImage();

// Set bitmap source to memory stream

bi.SetSource(ms);

// Create an image UI element – Note: this could be declared in the XAML instead

Image image = new Image();

// Set size of image to bitmap size for this demonstration

image.Height = bi.PixelHeight;

image.Width = bi.PixelWidth;

// Assign the bitmap image to the image’s source

image.Source = bi;

// Add the image to the grid in order to display the bit map

ContentPanelx.Children.Add(image);

}
}

我正在考虑在加载图像后对图像进行简单的旋转。我可以在 iOS 中执行此操作,但我的 C# 技能比坏还差。

有人可以就此提出建议吗?

最佳答案

如果图像是在 xaml 中声明的,您可以像这样旋转它:

//XAML
<Image.RenderTransform>
<RotateTransform Angle="90" />
</Image.RenderTransform>

同样的事情也可以通过 C# 完成。如果你总是旋转图像,那么在 xaml 中绘制它是更好的选择

//C#
((RotateTransform)image.RenderTransform).Angle = angle;

请试试这个:

RotateTransform rt = new RotateTransform();
rt.Angle = 90;

image.RenderTransform = rt;

关于c# - 在 Windows Phone 中旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com