2014-02-20 83 views
-1

這是我用.NET創建發送到android應用字符串的方法,該圖像是BitmapSystem.Drawing.Image類型轉換:如何在Android中以.Net的形式顯示透明背景的PNG圖像?

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

我不知道** ** BMP格式有透明度... – Selvin

回答

0

您正在以abmp格式保存圖像,但您需要將其保存爲png格式。

變化,從你的代碼

objeto.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp) 

以下行對此

objeto.Save(stream, System.Drawing.Imaging.ImageFormat.Png)