Android缩放大图片
来源:互联网 发布:zz的网络意思 编辑:程序博客网 时间:2024/04/28 22:00
Android直接加载大图片会爆OOM,所以需要得到图片的宽和高,以及屏幕的宽和高,然后得到缩放比,就可以加载图片了。
public class MainActivity extends ActionBarActivity {private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv=(ImageView) findViewById(R.id.iv); WindowManager wm=(WindowManager) getSystemService(WINDOW_SERVICE); int height=wm.getDefaultDisplay().getHeight(); int width=wm.getDefaultDisplay().getWidth(); System.out.println("width:"+width+"---"+height); BitmapFactory.Options options = new Options(); //设置为true,只会得到图片基本信息,不会加载图片 options.inJustDecodeBounds=true; BitmapFactory.decodeFile("/mnt/sdcard/eeee.jpg",options); int imgWidth=options.outWidth; int imgHeight=options.outHeight; System.out.println("图片的宽和高:"+imgHeight+"-----"+imgHeight); //设置缩放比 int scale=1; int scaleX=imgWidth/width; int scaleY=imgHeight/height; if(scaleX>scaleY){ scale=scaleX; }else{ scale=scaleY; } System.out.println("thi probdfd:"+scale); options.inSampleSize=scale; //设置为false,可以加载图片 options.inJustDecodeBounds=false; Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/eeee.jpg",options); iv.setImageBitmap(bitmap); }}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.picdemo1.MainActivity" > <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>
0 0
- Android缩放大图片
- android缩放大图片加载
- Android缩放图片加载大图片
- android中 利用缩放加载本地大图片
- Android中加载大图片OOM(图片缩放)
- Android利用缩放加载大图片避免内存溢出
- Android 加载大图片
- android下载大图片
- android 加载大图片
- Android处理大图片
- android加载大图片
- Android-加载大图片
- android加载大图片
- Android大图片裁剪
- android 加载大图片
- Android大图片处理
- Android 处理大图片
- android加载大图片
- vr
- LeetCode No.223 Rectangle Area
- HZOI 10-17 problem1 用堆求第k大
- java 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
- ajax 注册检查用户名小案例
- Android缩放大图片
- 分布式系统设计中核心是什么?
- socket中的函数遇见EINTR的处理
- Activity fragment生命周期
- Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?
- 单调栈 学习笔记
- LUA 环境配置步骤
- PAT 紧急救援 (最短路径变形)
- 算法 排序算法之堆排序