咨询热线:023-67611227

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开发公司

低价制作手机APP怎么样

手机APP作为传递商品信息的重要手段,正在被广泛应用于各大商业活动中。随着互联网

点击我更换图片

公司地址:

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

联系方式:

023-67611227

13372636650(24h热线)

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

© 2020 乐潮信息

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