这是我在.NET
上使用的方法来创建发送到android
应用的字符串,图片为System.Drawing.Image
类型转换为Bitmap
:
Public Shared Function SerializeObject(ByVal objeto As Bitmap) As String
Dim bitmapBytes As Byte()
Dim stream As New System.IO.MemoryStream
objeto.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp)
bitmapBytes = stream.ToArray
stream.Flush()
stream.Dispose()
Dim str1 = Convert.ToBase64String(bitmapBytes)
Return str1
End Function
这是创建图像的android方法:
public static Bitmap GetObjectBitmap(String str) {
Bitmap bm;
try {
byte [] encodeByte=Base64.decode(str.trim(), Base64.DEFAULT);
bm = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
} catch(Exception e) {
e.getMessage();
bm = null;
}
return bm;
}
问题是图像显示在ImageView
中,背景为黑色而不是透明。
答案 0 :(得分:0)
您正在以abmp格式保存图像,但您需要将其保存为png格式。
从您的代码中更改以下行
objeto.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp)
到此
objeto.Save(stream, System.Drawing.Imaging.ImageFormat.Png)