android图像绘制(五)——画布保存为图片

本文介绍了一个简单的Android应用程序示例,用于创建和保存屏幕截图。通过创建Bitmap并使用Canvas进行绘制,最终将绘制好的图片压缩为PNG格式并保存到SD卡指定路径。
 

[java]
Bitmap bmp = Bitmap.createBitmap(480, 800, Config.ARGB_8888); 
Canvas canvas = new Canvas(bmp); 
canvas.drawBitmap(this.bmp, matrix, paint); 
canvas.save(Canvas.ALL_SAVE_FLAG); 
canvas.restore(); 
             
File file = new File("/sdcard/akai/"); 
if(!file.exists()) 
    file.mkdirs(); 
    try { 
        FileOutputStream fos = new FileOutputStream(file.getPath() + "/2.png"); 
        bmp.compress(Bitmap.CompressFormat.PNG, 100, fos); 
        fos.close(); 
        System.out.println("saveBmp is here"); 
    } catch (Exception e) { 
                e.printStackTrace(); 

Bitmap bmp = Bitmap.createBitmap(480, 800, Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
canvas.drawBitmap(this.bmp, matrix, paint);
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
   
File file = new File("/sdcard/akai/");
if(!file.exists())
 file.mkdirs();
 try {
  FileOutputStream fos = new FileOutputStream(file.getPath() + "/2.png");
  bmp.compress(Bitmap.CompressFormat.PNG, 100, fos);
  fos.close();
  System.out.println("saveBmp is here");
 } catch (Exception e) {
    e.printStackTrace();
}解释:

1、首先创建一个Bitmap图片,并指定大小;

2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可;

3、需要保存的目录File,注意如果写的目录如“/sdcard/akai/”如果不存在的话,要先创建(file.mkdirs()),否则FileOutputStream会报错No found;

4、需要添加权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值