1. 程式人生 > >2:Bitmap和Base64轉換

2:Bitmap和Base64轉換

jpg itl print stat nbsp res param ima ati

import java.io.ByteArrayOutputStream;
import java.io.IOException;

import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.util.Base64;

public class Base64Utils {
    public static void
gcBitmap(Bitmap bitmap) { if (bitmap != null && !bitmap.isRecycled()) { bitmap.recycle(); // 回收圖片所占的內存 bitmap = null; System.gc(); // 提醒系統及時回收 } } /** * * @Title: bitmapToBase64 * @Description: TODO(Bitmap 轉換為字符串) * @param @param bitmap * @param @return 設定文件 * @return String 返回類型 * @throws
*/ @SuppressLint("NewApi") public static String bitmapToBase64(Bitmap bitmap) { // 要返回的字符串 String reslut = null; ByteArrayOutputStream baos = null; try { if (bitmap != null) { baos = new ByteArrayOutputStream(); /*
* * 壓縮只對保存有效果bitmap還是原來的大小 */ bitmap.compress(CompressFormat.JPEG, 30, baos); baos.flush(); baos.close(); // 轉換為字節數組 byte[] byteArray = baos.toByteArray(); // 轉換為字符串 reslut = Base64.encodeToString(byteArray, Base64.DEFAULT); } else { return null; } } catch (IOException e) { e.printStackTrace(); } finally { try { if (baos != null) { baos.close(); } } catch (IOException e) { e.printStackTrace(); } } return reslut; } /** * * @Title: base64ToBitmap * @Description: TODO(base64l轉換為Bitmap) * @param @param base64String * @param @return 設定文件 * @return Bitmap 返回類型 * @throws */ public static Bitmap base64ToBitmap(String base64String) { /* * byte[] decode = Base64.decode(base64String, Base64.DEFAULT); YuvImage * yuvimage = new YuvImage(decode, ImageFormat.NV21, 20, 20, null);// * 20、20分別是圖的寬度與高度 ByteArrayOutputStream baos = new * ByteArrayOutputStream(); yuvimage.compressToJpeg(new Rect(0, 0, 20, * 20), 80, baos);// 80--JPG圖片的質量[0-100],100最高 byte[] jdata = * baos.toByteArray(); Bitmap bitmap = * BitmapFactory.decodeByteArray(jdata, 0, jdata.length); */ byte[] decode = Base64.decode(base64String, Base64.DEFAULT); Bitmap bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.length); return bitmap; }

2:Bitmap和Base64轉換