gpt4 book ai didi

c# - 将图像存储到 Windows Phone 7 中的隔离存储中

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

基本上,我使用 Visual Studio/Expression Blend 来制作我的应用程序。它的工作原理是用户可以选择他/她想要编辑的图片,编辑后用户只需单击保存按钮,编辑后的图像将保存在独立存储中,但我无法命令保存按钮进行保存将图像放入隔离存储中,所以希望有人能用一些示例代码帮助我,在此先感谢。

我尝试使用下面的代码,但是当我按下保存按钮时出现空引用错误。我的想法是,当您按下保存时,应用程序不知道将哪个图像保存到隔离存储中,并且不确定我的想法是否正确。谁能帮我解决这个问题。非常感谢。

private void btnSave_Click(object sender, RoutedEventArgs e)
{
String tempJPEG = "TempJPEG";

var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(tempJPEG))
{
myStore.DeleteFile(tempJPEG);
}

IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempJPEG);

Uri uri = new Uri("TestImage.jpg", UriKind.Relative);
StreamResourceInfo sri = Application.GetResourceStream(uri);

BitmapImage bitmap = new BitmapImage();
bitmap.CreateOptions = BitmapCreateOptions.None;
bitmap.SetSource(sri.Stream);
WriteableBitmap wb = new WriteableBitmap(bitmap);

Extensions.SaveJpeg(wb, myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
myFileStream.Close();

最佳答案

这是代码的工作版本

private void saveButtonClick(object sender, RoutedEventArgs e)
{
try
{
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
if (isf.FileExists("myImage.jpg"))
isf.DeleteFile("myImage.jpg");
using (var isfs = isf.CreateFile("myImage.jpg"))
{
var bmp = new WriteableBitmap(myImageElement,
myImageElement.RenderTransform);
bmp.SaveJpeg(isfs, bmp.PixelWidth, bmp.PixelHeight, 0, 100);
}
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}

此处 myImageElement 是显示图像的图像元素。

关于c# - 将图像存储到 Windows Phone 7 中的隔离存储中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6372422/

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