怎么使用MediaLibrary类的保存图片函数
如何使用MediaLibrary类的保存图片函数
public partial class MainPage : PhoneApplicationPage
{
private WriteableBitmap _wb;
private string a="aaaaa";
public MainPage()
{
InitializeComponent();
ShowImage();
}
private void ShowImage()
{
Uri imageUri = new Uri("myImage.jpg", UriKind.Relative);
StreamResourceInfo sri = Application.GetResourceStream(imageUri);
_wb = PictureDecoder.DecodeJpeg(sri.Stream);
_wb.Invalidate();
img.Source = _wb;
}
// 将图片保存到图片 hub 的“相册”
private void btnSaveToPictureAlbum_Click(object sender, RoutedEventArgs e)
{
// 在独立存储中创建一个临时文件
string fileName = "myImage.jpg";
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
myStore.DeleteFile(fileName);
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
// 将图片保存到独立存储的临时文件
_wb.SaveJpeg(myFileStream, _wb.PixelWidth, _wb.PixelHeight, 0, 85);
myFileStream.Close();
// 打开独立存储中的图片
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
// 将图片保存到“相册”
MediaLibrary library = new MediaLibrary();
Picture pic = library.SavePicture(fileName, myFileStream);
}
}
这段代码运行到把图片保存到图片中心的时候总是出错,提示
------解决方案--------------------
Stream 不要 IsolatedStorageFileStream,强转一下
public partial class MainPage : PhoneApplicationPage
{
private WriteableBitmap _wb;
private string a="aaaaa";
public MainPage()
{
InitializeComponent();
ShowImage();
}
private void ShowImage()
{
Uri imageUri = new Uri("myImage.jpg", UriKind.Relative);
StreamResourceInfo sri = Application.GetResourceStream(imageUri);
_wb = PictureDecoder.DecodeJpeg(sri.Stream);
_wb.Invalidate();
img.Source = _wb;
}
// 将图片保存到图片 hub 的“相册”
private void btnSaveToPictureAlbum_Click(object sender, RoutedEventArgs e)
{
// 在独立存储中创建一个临时文件
string fileName = "myImage.jpg";
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
myStore.DeleteFile(fileName);
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
// 将图片保存到独立存储的临时文件
_wb.SaveJpeg(myFileStream, _wb.PixelWidth, _wb.PixelHeight, 0, 85);
myFileStream.Close();
// 打开独立存储中的图片
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
// 将图片保存到“相册”
MediaLibrary library = new MediaLibrary();
Picture pic = library.SavePicture(fileName, myFileStream);
}
}
这段代码运行到把图片保存到图片中心的时候总是出错,提示
------解决方案--------------------
Stream 不要 IsolatedStorageFileStream,强转一下