为了账号安全,请及时绑定邮箱和手机立即绑定

图片二次采样简单示例

标签:
Android

布局文件:

<LinearLayout 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:orientation="vertical"

   >

    <ImageView

        android:id="@+id/iv"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

       />

</LinearLayout>

MainActivit.java

package com.example.day025_exloadertwince;

import android.os.Bundle;

import android.app.Activity;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.view.Menu;

import android.widget.ImageView;

public class MainActivity extends Activity {

    ImageView iv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//初始化控件

iv=(ImageView) findViewById(R.id.iv);

//获取屏幕宽度和高度

int width=getResources().getDisplayMetrics().widthPixels;

int height=getResources().getDisplayMetrics().heightPixels;

//二次采样解析

Bitmap bm=getBitmap(width, height, R.drawable.oom);

iv.setImageBitmap(bm);

}

    /**

     * 二次采样解析方法

     * @param newWidth 屏幕宽度

     * @param newHeight屏幕高度

     * @param imageId图片id

     * @return  返回bitmap

     */

public Bitmap getBitmap(int newWidth,int newHeight,int imageId){

Bitmap bm=null;

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

opt.inJustDecodeBounds=true;

BitmapFactory.decodeResource(getResources(), imageId,opt);

int width=opt.outWidth;

int height=opt.outHeight;

int scaleX=width/newWidth;

int scaleY=height/newHeight;

int scale=scaleX>scaleY?scaleX:scaleY;

opt.inJustDecodeBounds=false;

opt.inSampleSize=scale;

              bm= BitmapFactory.decodeResource(getResources(),imageId,opt);

return bm;

}

}

原文链接:http://www.apkbus.com/blog-813041-61335.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消