C# 将图像保存到媒体库WP7
我无法将图像保存到windows phone媒体库中!以下是我的代码片段:C# 将图像保存到媒体库WP7,c#,.net,silverlight,windows-phone-7,C#,.net,Silverlight,Windows Phone 7,我无法将图像保存到windows phone媒体库中!以下是我的代码片段: public void SaveImageTo(string fileName) { fileName += ".jpg"; var myStore = IsolatedStorageFile.GetUserStoreForApplication(); if (myStore.FileExists(fileName)) {
public void SaveImageTo(string fileName)
{
fileName += ".jpg";
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
{
myStore.DeleteFile(fileName);
}
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
// Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
MediaLibrary library = new MediaLibrary();
library.SavePicture(fileName, myFileStream);
}
请给出一些建议!
提前谢谢 试试这个
public void SaveImageTo(string fileName = "ShareByQR.jpg")
{
fileName += ".jpg";
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
{
myStore.DeleteFile(fileName);
}
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
WritableBitmap wr = imageControl; // give the image source
wr.SaveJpeg(myFileStream, wr.PixelWidth, wr.PixelHeight, 0, 85);
myFileStream.Close();
// Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
MediaLibrary library = new MediaLibrary();
//byte[] buffer = ToByteArray(qrImage);
library.SavePicture(fileName, myFileStream);
}
希望它能起作用 试试这个
public void SaveImageTo(string fileName = "ShareByQR.jpg")
{
fileName += ".jpg";
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
{
myStore.DeleteFile(fileName);
}
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
WritableBitmap wr = imageControl; // give the image source
wr.SaveJpeg(myFileStream, wr.PixelWidth, wr.PixelHeight, 0, 85);
myFileStream.Close();
// Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
MediaLibrary library = new MediaLibrary();
//byte[] buffer = ToByteArray(qrImage);
library.SavePicture(fileName, myFileStream);
}
希望它能起作用 我将Shishir的代码片段改为外部url。 这是我的方法:
public void SaveImageTo(string fileName = "SO.jpg")
{
string source = "http://i.stack.imgur.com/PIFN0.jpg";
Uri url;
if (Uri.TryCreate(source, UriKind.Absolute, out url))
{
WriteableBitmap wr;
BitmapImage img = new BitmapImage(url);
img.CreateOptions = BitmapCreateOptions.None;
// When image is ready, show must go on.
img.ImageOpened += (s, e) =>
{
wr = new WriteableBitmap((BitmapImage)s);
//fileName += ".jpg"; // we dont need that
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
{
myStore.DeleteFile(fileName);
}
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
//WriteableBitmap wr = img; // image source already given
wr.SaveJpeg(myFileStream, wr.PixelWidth, wr.PixelHeight, 0, 85);
myFileStream.Close();
// Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
MediaLibrary library = new MediaLibrary();
//byte[] buffer = ToByteArray(qrImage);
library.SavePicture(fileName, myFileStream);
};
}
}
别忘了在WMAppManifest.xml中添加ID\u CAP\u MEDIALIB\u照片。
我希望这也能有所帮助。我将Shishir的代码片段改为外部url。 这是我的方法:
public void SaveImageTo(string fileName = "SO.jpg")
{
string source = "http://i.stack.imgur.com/PIFN0.jpg";
Uri url;
if (Uri.TryCreate(source, UriKind.Absolute, out url))
{
WriteableBitmap wr;
BitmapImage img = new BitmapImage(url);
img.CreateOptions = BitmapCreateOptions.None;
// When image is ready, show must go on.
img.ImageOpened += (s, e) =>
{
wr = new WriteableBitmap((BitmapImage)s);
//fileName += ".jpg"; // we dont need that
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(fileName))
{
myStore.DeleteFile(fileName);
}
IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName);
//WriteableBitmap wr = img; // image source already given
wr.SaveJpeg(myFileStream, wr.PixelWidth, wr.PixelHeight, 0, 85);
myFileStream.Close();
// Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
myFileStream = myStore.OpenFile(fileName, FileMode.Open, FileAccess.Read);
MediaLibrary library = new MediaLibrary();
//byte[] buffer = ToByteArray(qrImage);
library.SavePicture(fileName, myFileStream);
};
}
}
别忘了在WMAppManifest.xml中添加ID\u CAP\u MEDIALIB\u照片。
我希望这也能有所帮助。太好了!如果发生异常,您应该看到堆栈跟踪!我不懂这行代码WritableBitmap wr=imageControl;//给图像源什么是imageControl@我提到的XAML的V.G.太棒了!如果发生异常,您应该看到堆栈跟踪!我不懂这行代码WritableBitmap wr=imageControl;//给图像源什么是imageControl@V.G.我提到了XAML。