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;
        }




  • 相关阅读:
    mac下通过brew切换php版本
    大白话,讲编程之《ES6系列连载》汇总
    Mysql命令大全
    值得收藏的前端大牛博客
    web前端 —— 移动端知识的一些总结
    Linux 目录结构
    【WebSocket No.3】使用WebSocket协议来做服务器
    【WebSocket No.2】WebSocket和Socket实现聊天群发
    GroupBy分组的运用和linq左连接
    try、catch、finally详解,你不知道的异常处理
  • 原文地址:https://www.cnblogs.com/AndroidJotting/p/4898327.html
Copyright © 2011-2022 走看看