Android将View或文字保存成图像
短信预约 -IT技能 免费直播动态提醒
方法1 使用Drawing Cache
作者:VivianLab
直接上代码吧
View view = findViewById(R.id.testview);
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
//设置背景色
view.setDrawingCacheBackgroundColor(Color.WHITE);
//从Drawing Cache里取得图像内容
Bitmap bitmap = view.getDrawingCache();
//下面是将bitmap保存为JPEG图片
File file = new File(path);
FileOutputStream out = null;
try {
out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
//关闭Drawing Cache
view.destroyDrawingCache();
方法2 使用Canvas
还是上代码好了.
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.WHITE);
//启用canvas抗锯齿
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG));
//接下来可以通过canvas api将文字/图片等画上去,比如:
canvas.drawText(...);
canvas.drawBitmap(...);
//保存为图片
FileOutputStream out = new FileOutputStream(path);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
作者:VivianLab
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341