Как распаковать растровое изображение в 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