Saving image to media library WP7

不想你离开。 提交于 2019-12-19 11:34:16

问题


I cant save images into windows phone media library ! 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 !


回答1:


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!




回答2:


I changed Shishir's snippet to read extern url. 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 . I hope this can help too.



来源:https://stackoverflow.com/questions/11288017/saving-image-to-media-library-wp7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!