图片相关参数Options详解 BitmapFactory.Options options=new BitmapFactory.Options(); options.inPreferredConfig; //参数inpreferredconfig表示图片解码时使用的颜色模式 // inpreferredConfig参数有四个值: // ALPHA_8: 每个像素用占8位,存储的是图片的透明值,占1个字节 // RGB_565:每个像素用占16位,分别为5-R,6-G,5-B通道,占2个字节 // ARGB-4444:每个像素占16位,即每个通道用4位表示,占2个字节 // ARGB_8888:每个像素占32位,每个通道用8位表示,占4个字节 // 图片解码时,默认使用ARGB_8888模式: // Bitmap.Config inPreferredConfig = Bitmap.Config.ARGB_8888; options.inMutable; options.inDensity;//设置位图的像素密度,即每英寸有多少个像素 options.inBitmap;//如果这个值被设置了,decode方法会在加载内容的时候去reuse已经存在的bitmap. 这意味着bitmap的内存是被reused的,这样可以提升性能, 并且减少了内存的allocation与de-allocation. options.inJustDecodeBounds;//仅仅先拿到图片的宽高信息 不将图片加载到内存里面 options.inPreferQualityOverSpeed; options.inPremultiplied; options.inSampleSize;//图片压缩的比例 注意应该等比例压缩 options.inScaled; options.inScreenDensity; options.inTargetDensity;//设置绘制位图的屏幕密度,与inScale和inDesity一起使用,来对位图进行放缩. options.requestCancelDecode(); options.outWidth; options.outMimeType; options.outHeight; options.mCancel; options.inTempStorage; options.inDither; //设置是否抖动处理图片.getWidth==328--getHeight==321--
inPreferredConfig
bitmap
getWidth==328--getHeight==321--inPreferredConfig==ARGB_8888--outMimeType==image/png
BitmapFactory提供的api全是静态的 主要是从各类资源里面将图片资源转化为bitmap
Bitmap类也提供静态api:
// 剪切图片 前两个参数表示从目标图片哪个位置开始剪切 后两个参数表示所得图片的宽度和高度 这两个参数相加值不可以超过图片的宽高 // Bitmap bitmap=Bitmap.createBitmap(bitmapDrawable.getBitmap(),20,20,bitmapDrawable.getBitmap().getWidth()-50,bitmapDrawable.getBitmap().getHeight()-50);
图片适配这一块看看
BitmapDrawable是Drawable的实现类 就是一个Drawable包含了一个bitmap Drawable抽象类
实现将Drawable转化为bitmap