
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 : 131
Users Yesterday : 409
This Month : 7902
This Year : 79475
Total Users : 143962
Views Today : 289
Total views : 646854
Who's Online : 7
Recent Comments