
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 : 186
Users Yesterday : 346
This Month : 532
This Year : 93430
Total Users : 157917
Views Today : 426
Total views : 698069
Who's Online : 2
Recent Comments