最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android中圖片加載到內(nèi)存的實(shí)例代碼

 更新時(shí)間:2016年09月05日 10:36:22   作者:wuyudong  
這篇文章主要介紹了android中圖片加載到內(nèi)存的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

本文演示android中圖片加載到內(nèi)存

首先設(shè)計(jì)界面:

代碼如下:

<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"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="load"
android:text="加載圖片到內(nèi)存" />
<ImageView
android:id="@+id/iv"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>

往mnt/sdcard中上傳測(cè)試圖片

添加邏輯部分代碼:

public class MainActivity extends Activity {
private ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
}
public void load() {
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/a.jpg");
iv.setImageBitmap(bitmap);
}
}

運(yùn)行代碼,產(chǎn)生錯(cuò)誤,原因是圖片太大(選取的是大照片)

可以使用BitmapFactory中包含的靜態(tài)類(lèi)Options在不解析圖片信息的前提下得到圖片的寬高信息:

BitmapFactory.Options opts = new Options();
// 不去解析圖片信息,只是得到圖片的頭部信息 寬高
opts.inJustDecodeBounds = true;

BitmapFactory.decodeFile("/sdcard/a.jpg", opts);
int imageHeight = opts.outHeight;
int imagewidth = opts.outWidth;
System.out.println("圖片寬:" + imagewidth);
System.out.println("圖片高" + imageHeight);

運(yùn)行一下:

09-04 06:09:10.519: I/System.out(1812): 圖片寬:2560
09-04 06:09:10.519: I/System.out(1812): 圖片高1920

接下來(lái)得到手機(jī)屏幕的寬高:

//得到手機(jī)屏幕的寬高
WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
int height = wm.getDefaultDisplay().getHeight();
int width = wm.getDefaultDisplay().getWidth();

可以看到getHeight與getWidth方法均已過(guò)時(shí),使用下面的方法替代:

// 得到手機(jī)屏幕的寬高
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
Point outSize = new Point();
wm.getDefaultDisplay().getSize(outSize); // 3.0以后的版本才能使用

完整代碼如下:

package com.wuyudong.loadimage;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.Point;
import android.view.Menu;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView iv;
private int windowHeight;
private int windowWidth;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
// 得到手機(jī)屏幕的寬高
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
windowHeight = wm.getDefaultDisplay().getHeight();
windowWidth = wm.getDefaultDisplay().getWidth();
//Point outSize = new Point();
//wm.getDefaultDisplay().getSize(outSize); // 3.0以后的版本才能使用
//windowHeight = outSize.y;
//windowWidth = outSize.x;
}
public void load(View view) {
// Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/a.jpg");
// iv.setImageBitmap(bitmap);
// 圖片解析的配置
BitmapFactory.Options opts = new Options();
// 不去解析圖片信息,只是得到圖片的頭部信息 寬高
opts.inJustDecodeBounds = true;
BitmapFactory.decodeFile("/sdcard/a.jpg", opts);
int imageHeight = opts.outHeight;
int imagewidth = opts.outWidth;
System.out.println("圖片寬:" + imagewidth);
System.out.println("圖片高" + imageHeight);
// 計(jì)算縮放比例
int scaleX = imagewidth / windowWidth;
int scaleY = imageHeight / windowHeight;
int scale = 1;
if (scaleX > scaleY & scaleY >= 1) {
scale = scaleX;
}
if (scaleY > scaleX & scaleX >= 1) {
scale = scaleY;
}
//解析圖片
opts.inJustDecodeBounds = false;
//采樣率
opts.inSampleSize = scale;
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/a.jpg", opts);
iv.setImageBitmap(bitmap);
}
}

以上所述是小編給大家介紹的android中圖片加載到內(nèi)存的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 超簡(jiǎn)單Android集成華為HMS Scankit 掃碼SDK實(shí)現(xiàn)掃一掃二維碼

    超簡(jiǎn)單Android集成華為HMS Scankit 掃碼SDK實(shí)現(xiàn)掃一掃二維碼

    這篇文章主要介紹了超簡(jiǎn)單Android集成華為HMS Scankit 掃碼SDK實(shí)現(xiàn)掃一掃二維碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Input系統(tǒng)截?cái)嗖呗缘姆治雠c應(yīng)用詳解

    Input系統(tǒng)截?cái)嗖呗缘姆治雠c應(yīng)用詳解

    這篇文章主要為大家介紹了Input系統(tǒng)截?cái)嗖呗缘姆治雠c應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 為Android應(yīng)用增加渠道信息 自動(dòng)化不同渠道的打包過(guò)程的使用詳解

    為Android應(yīng)用增加渠道信息 自動(dòng)化不同渠道的打包過(guò)程的使用詳解

    為了統(tǒng)計(jì)渠道信息,就不得不在程序的某個(gè)地方加入渠道的信息,然后針對(duì)不同的渠道打不同的包。一般可以在Manifest文件中加入渠道編號(hào),而不直接寫(xiě)在代碼中。這樣做的好處是,可以針對(duì)不同渠道,自動(dòng)化去修改Manifest文件中的渠道編號(hào),然后自動(dòng)為該渠道打包
    2013-05-05
  • Android中ImageView用法實(shí)例分析

    Android中ImageView用法實(shí)例分析

    這篇文章主要介紹了Android中ImageView用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了ImageView控件的功能,屬性設(shè)置與使用相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • Flutter實(shí)現(xiàn)Text完美封裝

    Flutter實(shí)現(xiàn)Text完美封裝

    本文詳細(xì)講解了Flutter實(shí)現(xiàn)Text完美封裝,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以收藏下,方便下次瀏覽觀看
    2021-11-11
  • 分享五種Android常用布局方式

    分享五種Android常用布局方式

    Android布局是應(yīng)用界面開(kāi)發(fā)的重要一環(huán),在Android中,共有五種布局方式,分別是:FrameLayout(框架布 局),LinearLayout (線性布局),AbsoluteLayout(絕對(duì)布局),RelativeLayout(相對(duì)布局),TableLayout(表格布局),小編通過(guò)本文逐一給大家詳解
    2015-11-11
  • android音樂(lè)播放簡(jiǎn)單實(shí)現(xiàn)的簡(jiǎn)單示例(MediaPlayer)

    android音樂(lè)播放簡(jiǎn)單實(shí)現(xiàn)的簡(jiǎn)單示例(MediaPlayer)

    本篇文章主要介紹了android音樂(lè)播放簡(jiǎn)單實(shí)現(xiàn)的簡(jiǎn)單示例(MediaPlayer),具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • Android中webView加載H5綁定cookie實(shí)例

    Android中webView加載H5綁定cookie實(shí)例

    這篇文章主要介紹了Android中webView加載H5綁定cookie實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 微信小程序動(dòng)態(tài)的顯示或隱藏控件的方法(兩種方法)

    微信小程序動(dòng)態(tài)的顯示或隱藏控件的方法(兩種方法)

    在微信小程序開(kāi)發(fā)時(shí),經(jīng)常要用到一個(gè)控件會(huì)根據(jù)不同的情況和環(huán)境動(dòng)態(tài)顯示與隱藏這種情況,下面就來(lái)實(shí)踐一下吧
    2017-01-01
  • Android實(shí)現(xiàn)秒表功能

    Android實(shí)現(xiàn)秒表功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)易秒表功能,具備啟停功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09

最新評(píng)論

阿图什市| 香港| 浙江省| 麻江县| 衡阳市| 城固县| 许昌市| 宁南县| 报价| 大余县| 长丰县| 黎平县| 丁青县| 东乌珠穆沁旗| 墨竹工卡县| 类乌齐县| 塔城市| 墨竹工卡县| 陇西县| 班戈县| 呼伦贝尔市| 潜江市| 铅山县| 曲松县| 区。| 丹东市| 隆子县| 海城市| 海门市| 西吉县| 卓资县| 伊宁县| 娱乐| 凤城市| 南川市| 肇源县| 合肥市| 湘乡市| 泗阳县| 陆良县| 怀仁县|