
Ketika kita membuat suatu aplikasi, terkadang membutuhkan dokumentasi berupa gambar (image).
Berikut adalah salah satu cara untuk membuat image dari layout yang telah dibuat.
Buat method untuk konversi dari view ke bitmap:
private Bitmap getBitmap(View view) {
view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
view.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Drawable background =view.getBackground();
if (background!=null) {
background.draw(canvas);
}else{
canvas.drawColor(Color.WHITE);
}
view.draw(canvas);
return bitmap;
}
Buat method untuk simpan ke dalam bentuk file:
public void save(Bitmap image, String path) {
try {
FileOutputStream output = new FileOutputStream(path);
image.compress(Bitmap.CompressFormat.PNG, 100, output);
output.close();
Toast.makeText(context,"File berhasil disimpan di: "+path+".",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// e.printStackTrace();
Log.e(TAG, e.toString());
Toast.makeText(context,"Gagal menyimpan file.",Toast.LENGTH_LONG).show();
} catch (IOException e) {
// e.printStackTrace();
Log.e(TAG, e.toString());
Toast.makeText(context,"Gagal menyimpan file.",Toast.LENGTH_LONG).show();
}
}
Panggil method yang telah dibuat:
image = getBitmap(layout);
Buat fungsi untuk menyimpan image:
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String path = Environment.getExternalStorageDirectory()+"/image.png";
save(image, path);
}
});
Buat fungsi untuk menampilkan image:
btnView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bmImage.setImageBitmap(image);
}
});
Source code:
download






Users Today : 334
Users Yesterday : 437
This Month : 19039
This Year : 111937
Total Users : 176424
Views Today : 580
Total views : 752167
Who's Online : 4
Recent Comments