• Android网络图片转换成bitmap保存到本地指定文件夹


    下列代码,请求网络图片转换为bitmap,然后保存到指定文件夹,微信,QQ分享,要求缩略图不大于32kb

    压缩图片代码,使用了Glide来进行图片压缩处理

      Glide.get(ShopDetailsActivity.this).clearMemory();
                    Log.e("分享图片地址链接分享", "分享图片地址:" + shopInfoEntity.getImgs().get(0).toString());
                    Glide.with(ShopDetailsActivity.this).load(shopInfoEntity.getImgs().get(0)).asBitmap().into(new SimpleTarget<Bitmap>() {
                        @Override
                        public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
    //                        //由于微信分享的图片要求在32k一下,所以要转换成缩略图
                            bitmap = Tool.createBitmapThumbnail(resource, false);
                            wxBitMap = bitmap;
    //                            saveBitmap(bitmap);
    //                            String sss = saveMyBitmap("fenxiang", bitmap);
                            saveBitmap(bitmap);
                        }
                    });

    保存图片到本地

    FileOutputStream out;
    String bitmapName = "fenxiang.jpg";
    File file;
    String QQFilePath;
     public void saveBitmap(Bitmap bmp) {
    
            try { // 获取SDCard指定目录下
                String sdCardDir = Environment.getExternalStorageDirectory() + "/zupubao/";
                File dirFile = new File(sdCardDir);  //目录转化成文件夹
                if (!dirFile.exists()) {              //如果不存在,那就建立这个文件夹
                    dirFile.mkdirs();
                }                          //文件夹有啦,就可以保存图片啦
                File file = new File(sdCardDir, bitmapName);// 在SDcard的目录下创建图片文,以当前时间为其命名
                out = new FileOutputStream(file);
                bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
    //            System.out.println("_________保存到____sd______指定目录文件夹下____________________");
                Log.e("saveBitMap", "saveBitmap: 图片保存到" + Environment.getExternalStorageDirectory() + "/zupubao/" + bitmapName);
                QQFilePath = Environment.getExternalStorageDirectory() + "/zupubao/" + "fenxiang.jpg";
    //            showShare(QQFilePath);
                showShare2();
                out.flush();
                out.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    //        Toast.makeText(HahItemActivity.this,"保存已经至"+Environment.getExternalStorageDirectory()+"/CoolImage/"+"目录文件夹下", Toast.LENGTH_SHORT).show();
        }

    此博客作为笔记记录

  • 相关阅读:
    Android学习笔记(四十):Preference的使用
    java反射中Method类invoke方法的使用方法
    accept函数
    C++教程之lambda表达式一
    《windows核心编程系列》十八谈谈windows钩子
    STL学习小结
    RS-232协议和RS-485协议
    选择排序
    在asp.net mvc中使用PartialView返回部分HTML段
    uva 10560
  • 原文地址:https://www.cnblogs.com/dingxiansen/p/8932675.html
Copyright © 2020-2023  润新知