簡體   English   中英

將PNG圖像轉換為Base64

[英]Convert PNG image to Base64

我將可繪制資源png圖像轉換為位圖,然后將該位圖轉換為base64,然后通過Web服務將其發送到服務器。

該圖像存儲在服務器上的某個地址,作為響應,我獲取存儲圖像的URL。

問題是將圖像發送到服務器后,我用該URL獲取的URL將圖像設置為其他圖像視圖,但是圖像的透明部分變為黑色,我認為問題在於將png圖像轉換為base64,

我的代碼:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);

bitmap = Bitmap.createScaledBitmap(bitmap, 300, 300, false);
mImageView.setImageBitmap(bitmap);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, bao);
byte[] ba = bao.toByteArray();
base64Image = Base64.encodeToString(ba, Base64.DEFAULT);

請盡快給我解決方案

您所做的一切似乎都是正確的。 根據您使用的Android版本, decodeResource可以具有不同的默認行為。 使用以下代碼解碼時,可以強制BitmapFactory使用Alpha通道。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inDither = false;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher, options);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM