读取sd卡下图片,由图片路径转换为bitmap

public Bitmap convertToBitmap(String path, int w, int h) {

            BitmapFactory.Options opts = new BitmapFactory.Options();

            // 设置为ture只获取图片大小

            opts.inJustDecodeBounds = true;

            opts.inPreferredConfig = Bitmap.Config.ARGB_8888;

            // 返回为空

            BitmapFactory.decodeFile(path, opts);

            int width = opts.outWidth;

            int height = opts.outHeight;

            float scaleWidth = 0.f, scaleHeight = 0.f;

            if (width > w || height > h) {

                // 缩放

                scaleWidth = ((float) width) / w;

                scaleHeight = ((float) height) / h;

            }

            opts.inJustDecodeBounds = false;

            float scale = Math.max(scaleWidth, scaleHeight);

            opts.inSampleSize = (int)scale;

            WeakReference<Bitmap> weak = new WeakReference<Bitmap>(BitmapFactory.decodeFile(path, opts));

            return Bitmap.createScaledBitmap(weak.get(), w, h, true);

        }

其中w和h你需要转换的大小

path转换为bitmap:上面方法即可;

imageview获取drawable并转换为 bitmap :Bitmap bt= ((BitmapDrawable) mImageview.getDrawable()).getBitmap();

resourceid转换为bitmap:Bitmap bt = BitmapFactory.decodeResource(getResources(), R.drawable.resourceid);

Drawable转换为bitmap:Bitmap bt= ((BitmapDrawable) Drawable).getBitmap();

因为BitmapDrawable是继承Drawable,所以可以灵活的转换

时间: 2024-11-09 01:27:10

读取sd卡下图片,由图片路径转换为bitmap的相关文章

android 读取sd卡中的图片

一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限  -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    <!-- 往SDCard写入数据权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STO

【Android】读取sdcard卡上的全部图片而且显示,读取的过程有进度条显示

尽管以下的app还没有做到快图浏览.ES文件浏览器的水平,遇到大sdcard还是会存在读取过久.内存溢出等问题,可是基本思想是这种. 例如以下图.在sdcard卡上有4张图片, 打开app,则会吧sd卡上的全部图片读取,并显示出来.读取的过程有进度条显示. 制作步骤例如以下: 1.首先,res\values\strings.xml对字符设置例如以下,没有什么特别的. <? xml version="1.0" encoding="utf-8"?> <

android 如何在sd卡下创建指定的多层文件夹

我们在很多情况下都需要在sd卡目录下创建子目录存放图片文件之类的,之前也有人问我怎么在sd卡下创建子文件夹,今天就讲一个例子,就是当程序发生异常的时候,怎么把异常写在指定的文件中,当然在这里只讲如何创建文件夹, 代码 public class MainActivity extends Activity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle

Javascript 将图片的绝对路径转换为base64编码

Javascript将图片的绝对路径转换为base64编码 我们可以使用canvas.toDataURL的方法将图片的绝对路径转换为base64编码:在这我们引用的是淘宝首页一张图片如下: var img = "https://img.alicdn.com/bao/uploaded/TB1qimQIpXXXXXbXFXXSutbFXXX.jpg"; 我们如下编写代码: function getBase64Image(img) { var canvas = document.create

android.uid.system无法读取SD卡信息

[Android]android.uid.system无法读取SD卡信息[转] 在AndroidManifest.xml中我们可以看到android:sharedUserId="android.uid.system"但是有了这句后,就无法对sd卡进行读写操作,比如在SD卡中创建一个新文件夹,是创建不成功的. 但是如果把android:sharedUserId="android.uid.system"注释掉,就可以在SD卡进行IO操作了. 在Settings中andr

Android 手持PDA读取SD卡中文件

近两年市场上很多Wince设备都开始转向Android操作系统,最近被迫使用Android开发PDA手持设备.主要功能是扫描登录,拣货,包装,发货几个功能.其中涉及到商品档的时候大概有700左右商品要导入到Android设备中,因为现场操作环境没有WiFi ,所以商品档不能直接访问服务,将商品档记录到txt文件中. 一. 将txt文件存放到SD开中 将商品档编辑成为txt文件然后拷贝到SD卡中,当然也可以存储其他的数据格式,甚至可以使用Sqlite来存储,这里没有这个必要所以就直接使用txt 二

获取SD卡下Android/data/下文件

通常情况下多数应用程序都会将缓存的位置选择为 /sdcard/Android/data/<application package>/cache 这个路径.选择在这个位置有两点好处:第一,这是存储在SD卡上的,因此即使缓存再多的数据也不会对手机的内置存储空间有任何影响只要SD卡空间足够就行.第二,这个路径被Android系统认定为应用程序的缓存路径,当程序被卸载的时候,这里的数据也会一起被清除掉,这样就不会出现删除程序之后手机上还有很多残留数据的问题. //路径例如: /SD卡/Android/

android 读取SD卡文件

public class SDCardTest extends Activity { final String FILE_NAME = "/crazyit.bin"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获取两个按钮 Button read = (Button) f

安卓读取SD卡的容量

在开发中,我们经常会用到SD卡,那么在对SD卡进行读写的时候,我们经常需要判断SD卡的剩余容量是否足够.因此,这次我们来写写获取SD卡容量的程序. 该注意的地方,我都在程序里面有注明了.看程序基本就懂了哈. 先来看看运行结果截图吧. 布局文件 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sche