咨询热线:023-63853373

24小时热线:13372636650

新闻中心

首页

产品方案

服务项目

开发案例
新闻资讯
联系我们

获取view图片并保存bitmap到本地

2020/02/03  来源:乐潮信息

获取view图片并保存bitmap到本地

在日常开发中,我们有时候会遇到将获取app页面上的图片。这个时候我们就可以通过获取某个view的布局,然后将其转换成一张图片。话不多说,看代码。

/**

* view转bitmap

*/
public Bitmap viewConversionBitmap(View v)
    {
        int w = v.getWidth();
        int h = v.getHeight();
        Bitmap bmp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas(bmp);
        c.drawColor(Color.WHITE);
        /** 如果不设置canvas画布为白色,则生成透明 */
        v.layout(0, 0, w, h);
        v.draw(c);
        return bmp;
    }
    //保存bitmap到本地
public int saveImageToGallery(Bitmap bmp)
{
    //生成路径
    String targetPath = Environment.getExternalStorageDirectory() + File.separator + AppUtils.getAppName() + "/分享" + new Date().getTime() + ".jpg";
    String root = Environment.getExternalStorageDirectory().getAbsolutePath();
    String dirName = "" + AppUtils.getAppName();
    File appDir = new File(root, dirName);
    if(!appDir.exists())
    {
        appDir.mkdirs();
    }
    //文件名为时间
    long timeStamp = System.currentTimeMillis();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String sd = sdf.format(new Date(timeStamp));
    String fileName = sd + ".png";
    //获取文件
    File file = new File(appDir, fileName);
    FileOutputStream fos = null;
    try
    {
        fos = new FileOutputStream(file);
        bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
        fos.flush();
        LecoUtils.Log("保存成功 file=" + file.getPath());
        //通知系统相册刷新
        getContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(file.getPath()))));
        return 2;
    }
    catch(FileNotFoundException e)
    {
        LecoUtils.Log("保存异常1 e=" + e);
        e.printStackTrace();
    }
    catch(IOException e)
    {
        LecoUtils.Log("保存异常2 e=" + e);
        e.printStackTrace();
    }
    finally
    {
        LecoUtils.Log("保存 finally");
        try
        {
            if(fos != null)
            {
                fos.close();
            }
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }
    }
    return -1;
}

我们可以根据某一个view来将其生成一张图片,进行分享、上传或者保存到本地的一系列操作。

手机app定制开发要根据用户市场来

重庆app开发公司乐潮科技认为,随着移动互联网技术的不断发展,手机app开发现在已经

重庆APP开发多少钱

根据app应用软件开发的难易程度可以将重庆app开发价格大致分为一下几类

开发三级分销系统APP的好处

重庆APP开发乐潮科技认为:三级分销系统是各路商家的最爱,这句话说的绝对没毛病。

点击我更换图片

公司地址:

重庆市渝北区冉家坝时光城写字楼

联系方式:

023-63853373

13372636650(24h热线)

重庆市渝北区冉家坝时光城写字楼

© 2020 乐潮信息

渝ICP备15006414号-2      渝公网安备 50011202502110号