none
Converting BitmapImage to byte[] in UWP RRS feed

  • Pergunta

  • Eu preciso converter uma BitmapImage para byte[] para que eu possa inserir esses dados em um banco de dados sqlite.

    Minha página XAML tem essa imagem:

    <Image
     x:Name="image" HorizontalAlignment="Left" Height="254" Margin="50,117,0,0" VerticalAlignment="Top" Width="244" Source="Assets/LockScreenLogo.png"/>


    Esse é meu código C#:

    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            BitmapImage test = new BitmapImage();
            test = (BitmapImage)image.Source;
            image.Source = test;
    
            byte[] array = ImageToByte(test);
            Database.CreateDB();
            Database.InsertData(array);
        }
    
    
    
        #region convert
        public byte[] ImageToByte(BitmapImage image)
        {
    
            //WriteableBitmap wb;
            using (InMemoryRandomAccessStream ms = new InMemoryRandomAccessStream())
            {
                image.SetSource(ms);
    
                WriteableBitmap wb = new WriteableBitmap(244, 254);
                wb.SetSource(ms);
    
                using (Stream stream = wb.PixelBuffer.AsStream())
                using (MemoryStream memoryStream = new MemoryStream())
                {
                    stream.CopyTo(memoryStream);
                    return memoryStream.ToArray();
                }
            }
        }
    
        public BitmapImage ByteToImage(byte[] array)
        {
            BitmapImage image = new BitmapImage();
            using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream())
            {
                stream.AsStreamForWrite().Write(array, 0, array.Length);
                stream.Seek(0);
                image.SetSource(stream);
            }
            return image;
        }
        #endregion
    
    }
    

    Mas não está funcionando.

    Está exibindo essa mensagem de exceção: 

    "An exception of type 'System.ArgumentNullException' occurred in mscorlib.ni.dll but was not handled in user code

    Additional information: Value cannot be null."

    Alguém pode me ajudar com isso, por favor?


    • Editado Giorge Caique quinta-feira, 29 de setembro de 2016 19:01
    quinta-feira, 29 de setembro de 2016 18:07

Respostas

Todas as Respostas