由bitmap转为drawable的时候,图片缩小了????奇迹?
AssetManager am = context.getAssets();
InputStream is = am.open(fileName);
Bitmap b = BitmapFactory.decodeStream(is, null, null);
Drawable = new BitmapDrawable(b);
我是这样把bitmap转为drawable的。
在2.0上,通过assets获取了一个bitmap.查看height和width和图片一样都是48*48的规格,但我不清楚
电脑查看图片属性的48*48是以像素为单位的。而bitmap的height和width也是像素?
然后我通过上面的方面转为了drawable,发现,变成了32.这是为什么呢?
我知道如果要像1px为1.5dp,那难道说。drawable就是dp为单位,而bitmap是px?
可是奇怪的是,new出来的图像是缩小的。求解。
同样地。如果我把这张图片放在Drawable目录下,然后通过资源文件读取方法,读取出得drawable对象就是48*48的。
why?
[解决办法]
不是 我觉得是因为bitmap 的创建会有一个 option 这个里有density 这个参数 好像是这么写的 它的值 有120 160 240 几种 这个和你的图片转换出来有关系,虽然默认是不需要改的 但是如果你在什么地方改了这个值 是会影响到的 你看看你的那个获得的bitmap是不是就变成 32*32的了
[解决办法]
和你用的系统和图片放置的文件夹有关系,
比如图片放在hdpi下面,你的系统也是hdpi的,图片大小不变,如果你的系统是mdpi的,图片会变成原来的2/3,如果是ldpi的,图片会缩小为原来的一半。
图片放在mdpi下面,你的系统也是mdpi的,不变,系统是hdpi的,放大50%,系统是ldpi的,变为原来的3/4。
其他同理了。