Android将View或文字保存成图像

这篇博客介绍了如何在Android中将View或文字转换为图像的两种方法:使用Drawing Cache和使用Canvas。通过示例代码详细展示了每种方法的实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1 使用Drawing Cache

直接上代码吧

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值