Как создать растровое изображение из байтового массива в Android с Java? - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть сервер ac # tcp, и я посылаю массив байтов изображений на мой клиент для Android. Но мне не удалось преобразовать массив в растровое изображение.

This is my c# code:






    new Thread(() =>{
                        //İmage converter    
                        ImageConverter imConv = new ImageConverter();
//memory streaö                        
MemoryStream ms = new MemoryStream();
//bitmap               
Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format16bppRgb555);
                        Graphics g = Graphics.FromImage(bitmap);
                        g.CopyFromScreen(0, 0, 0, 0, bitmap.Size);
                        Cursors.Default.Draw(g, new Rectangle(new Point(Cursor.Position.X, Cursor.Position.Y), new Size(Cursors.Default.Size.Width, Cursors.Default.Size.Height)));
                        bitmap.Save(ms, ImageFormat.Png);
                        Image img = Image.FromStream(ms);
                        byte[] imgArry = (byte[])imConv.ConvertTo(img,typeof(byte[]));
                        tcpManager.SendTo(socket,imgArry);
                        bitmap.Dispose();
                        ms.Close();
                        ms.Dispose();
                        Thread.Sleep(41);

                                }).Start();

И это мой код клиента Android, я получаю массив байтов, но функция возвращает мне нулевое растровое изображение

@Override
 public void OnReceived(byte[] byteData) {
 try{
      final Bitmap bitmap = BitmapFactory.decodeByteArray(byteData, 0, byteData.length);
      runOnUiThread(new Runnable() {
                 @Override
                 public void run() {
                                    screenView.setImageBitmap(bitmap);
                               }
                           });

                       }catch (Exception ex){
                       }
                   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...