在這裏,我用滾動型對整個事件以位圖 所以這裏u可以使用的,而不是像滾動視圖等linerlayout任何其它視圖組..
Bitmap map = loadBitmapFromView(getApplicationContext(),scrollView);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
map.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
//you can create a new file name "test.jpg" in sdcard folder.
File f = new File("/sdcard" +"/" + "mainemailpdf.jpg");
f.createNewFile();
//write the bytes in file
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
bArray = bytes.toByteArray();
// remember close de FileOutput
fo.close();
和loadBitmapFromView方法是:
public static Bitmap loadBitmapFromView(Context context, View v) {
Toast.makeText(context,
v.getMeasuredHeight() + "::::::::::::" + v.getMeasuredWidth(),
Toast.LENGTH_LONG).show();
if (v.getMeasuredHeight() > 0) {
v.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(),
Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getWidth(), v.getWidth());
v.draw(c);
return b;
}
return null;
}
我希望它能幫助:)
的任何查詢令m我知道。
感謝您的回答!它可以部分解決我的問題。我可以在自定義視圖中編寫一個onMeasure,以便我可以設置佈局參數。但用戶可以拖動視圖(平移),然後視圖並不總是在圖像上。 – Matt 2013-04-09 08:20:30
這裏我們在Viewgroup右側添加視圖。因此,即使用戶將視圖拖放到主視圖組的所有視圖上,我們也可以獲取主視圖組的位圖。如果你有任何困惑發送示例代碼,我會爲你做。 – VenSan 2013-04-09 13:04:09