易采站长站为您分析Android编程实现等比例显示图片的方法,实例分析了Android等比例缩放图片的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了Android编程实现等比例显示图片的方法。,具体如下:
在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘或者古哥吧。 原因是如果你把图片放在drawable-mdpi里,而手机是属于drawable-hdpi的话,图片是被自动放大,就这样取到的宽与高未必就是正确的。那么如何让android上面显示的图片是基于原来图片的比例呢,首先你可以在res目录下创建一个drawable-nodpi的目录,这个目录下的图片是不根据dpi的多少来进行拉伸或者缩小滴。然后,就是根据屏幕的宽 和 图片的宽高 得出图片在屏幕显示的高,宽是固定的,就是屏幕的宽,所以不用算了。
- private void getWidth_Height() { Display display = getWindowManager().getDefaultDisplay();
- int width = display.getWidth(); // deprecated int height = display.getHeight(); // deprecated
- Bitmap mBitmap = createImageWithResouce(R.drawable.history4); image.setLayoutParams(new LayoutParams(width, width / getBitmapWidth(mBitmap) * getBitmapHeight(mBitmap)));
- image.setImageBitmap(createImageWithResouce(R.drawable.history4)); }
- private Bitmap createImageWithResouce(int resourceID) { Bitmap bit = BitmapFactory.decodeResource(getResources(), R.drawable.history4);
- return bit; }
- private int getBitmapWidth(Bitmap bitmap){ return bitmap.getWidth();
- } private int getBitmapHeight(Bitmap bitmap){
- return bitmap.getHeight(); }
- // 释放bitmap private void releaseBitmap(Bitmap bitmap){
- if (bitmap!=null && !bitmap.isRecycled()) { bitmap.recycle();
- bitmap = null; }
- }










