zoukankan      html  css  js  c++  java
  • Android图片处理

      如何把Android内存中的图片保存下来,估计困过不少小伙伴吧,今天带领大家实现一下如何获取内存中的图片。

      问题描述:当我们使用Viewpage展示图片时,如何当用户滑动欣赏时,将自己喜欢的照片保存下来呢?

      问题解决方式:当我们看到图片时,图片这是就存在于手机内存中,我们自需要将其下载到本地即可,具体的实现,请看代码:

    //将商品展示的照片从内存下载下来
    LinearLayout v = (LinearLayout) pageViewsPhoto.get(delImageNumber);//获得图片的视图
      if(v != null) {
         ImageView image = (ImageView)v.getChildAt(0);//获得视图里面的图片控件
      if(image != null){
        BitmapDrawable drawable = (BitmapDrawable) image.getDrawable();//通过图片控件获得图片
      if(drawable != null) {
        Bitmap bmpIcon = drawable.getBitmap();//将图片转换为Bitmap
    }}}
    pageViewsPhoto是我们的ViewPage控件,delImageNumber就是我们打算下载的那张,在ViewPage中显示的数目

    到这里关于图片的下载就已经完成了,我们得到的是图片的Bitmap格式,下面再给大家介绍一下如何缩放图片的大小

    ThumbnailUtils :是谷歌提供的一个缩放图片的类
    ThumbnailUtils t = new ThumbnailUtils();
    bmpIcon = t.extractThumbnail(bmpIcon,200,200);//图片缩放--Android自带方法

    我们如何将图片保存到手机本地呢?

    //保存照片到手机本地
        public static String saveBitmap(String dir, String path, Bitmap bmp) {
            String picturePath = null;
            File fDir = new File(dir);
            if(fDir.exists() == false) 
                fDir.mkdirs();
            
            File f = new File(path);
                    
            FileOutputStream fOut = null;
            try {
                fOut = new FileOutputStream(f);
    //            bmp = reduce(bmp, 200, 200, false);//尺寸压缩
                bmp.compress(Bitmap.CompressFormat.JPEG, 80, fOut);
                
                fOut.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            if (f.exists()) {
                Log.d("123", "123");
            } else {
                Log.d("123", "123");
            }
            
            picturePath = f.getAbsolutePath();
            
            return picturePath;
        }




  • 相关阅读:
    linux每天一小步cp命令详解
    linux每天一小步ls命令详解
    linux每天一小步cd命令详解
    linux每天一小步rm命令详解
    linux每天一小步touch命令详解
    linux每天一小步mkdir命令详解
    input、textarea等输入框输入中文时,拼音在输入框内会触发input事件的问题
    (转)周志华:“深”为什么重要,以及还有什么深的网络
    CSS画行内分隔线
    百度之星资格赛E:C++ 与Java
  • 原文地址:https://www.cnblogs.com/AndroidJotting/p/4898327.html
Copyright © 2011-2022 走看看