Как распаковать растровое изображение в VB.Net Server, который был сжат с помощью клиента Java

Я пытаюсь заставить Android отправить изображение на сервер vb.net через tcp / ip. Android сжимает растровое изображение, и когда сервер получает растровое изображение и преобразует его в изображение, оно становится черным, я думаю, что декомпрессия может быть проблемой или чем-то еще. Я действительно не знаю, как распаковать этот образ. Любая помощь будет оценена. Благодарю.

Это Java для создания растрового изображения:

Bitmap bmp=BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byteArray = stream.toByteArray();

Это мой сервер vb.net

Sub Main()
    Dim bmp As Bitmap

    Dim serverSocket As New TcpListener(1334)
    Dim requestCount As Integer
    Dim clientSocket As TcpClient
    serverSocket.Start()

    While (True)
        Try
            msg("Waiting For Client...")
            clientSocket = serverSocket.AcceptTcpClient()
            msg("Accept connection from client")
            requestCount = requestCount + 1
            Dim networkStream As NetworkStream = clientSocket.GetStream()
            Dim bytesFrom(clientSocket.ReceiveBufferSize) As Byte
            networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))

            Dim newImage As Image = Nothing
            Byte2Image(newImage, bytesFrom)
            newImage.Save("C:\Users\ppetrenko\Desktop\test.jpeg")


            Dim dataFromClient As String = System.Text.Encoding.ASCII.GetString(bytesFrom)
            dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"))
            msg("Data from client -  " + dataFromClient)
            Dim serverResponse As String = "Server response " + Convert.ToString(requestCount)
            Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(serverResponse)
            networkStream.Write(sendBytes, 0, sendBytes.Length)
            networkStream.Flush()
            msg(serverResponse)
            clientSocket.Close()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End While

0 ответов

Другие вопросы по тегам