简体   繁体   English

将图像保存到媒体库WP7

[英]Saving image to media library WP7

I cant save images into windows phone media library ! 我无法将图像保存到Windows Phone媒体库中! Here is my code snippet : 这是我的代码片段:

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);
    }

Please give some suggestion ! 请给点建议! Thanks in advance ! 提前致谢 !

try this .... 尝试这个 ....

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);
    }

hope it works! 希望它有效!

I changed Shishir's snippet to read extern url. 我更改了Shishir的代码段以读取外部网址。 This is my method : 这是我的方法:

    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);
            };
        }
    }

Dont forget to add ID_CAP_MEDIALIB_PHOTO in WMAppManifest.xml . 不要忘记在WMAppManifest.xml中添加ID_CAP_MEDIALIB_PHOTO。 I hope this can help too. 我希望这也会有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM