当我们需要将图片保存到数据库,有一种方法是保存图片的64位码。
例如安卓编程中个人头像的使用就可以使用图片的64位码。
首先将图片转换为64位码:
public String bitmaptoString(Bitmap bitmap) {
String string = null;
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 100, bStream);
byte[] bytes = bStream.toByteArray();
string = Base64.encodeToString(bytes, Base64.DEFAULT);
return string;
}
这个方法返回了图片的64位码。
private void setBase64Image(String base64Str) {
byte[] decodedString = Base64.decode(base64Str, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0,
decodedString.length);
view.setImageBitmap(decodedByte);
}
这个方法则是用来使用64位码显示图片。View是ImageView控件。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view = (ImageView) findViewById(R.id.image);
//获得文件中的Bitmap
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.welcome);
//将Bitmap传入得到64位码
String bitmapString=bitmaptoString(bitmap);
setBase64Image(bitmapString);
}