正文

使用內(nèi)置的Camera應(yīng)用程序捕獲圖像(6)

Android多媒體開發(fā)高級編程 作者:(美)艾佛瑞


簡單地將圖像的尺寸除以顯示的尺寸將獲得顯示的比率。然后,可以選擇是否使用高度比率或?qū)挾缺嚷?,這取決于它們當(dāng)中誰更大。只須將這個(gè)比率作為BitmapFactory.Options. inSampleSize變量,這將產(chǎn)生一幅應(yīng)該加載到內(nèi)存中的圖像,其尺寸接近于我們在這種情況下所需要的尺寸,也接近于顯示本身的尺寸。

// 如果兩個(gè)比率都大于1,

// 那么圖像的一條邊將大于屏幕

if (heightRatio > 1 && widthRatio > 1) 

{

if (heightRatio > widthRatio) 

{

// 若高度比率更大,則根據(jù)它縮放

bmpFactoryOptions.inSampleSize = heightRatio;

else 

{

// 若寬度比率更大,則根據(jù)它縮放

bmpFactoryOptions.inSampleSize = widthRatio;

}

//對它進(jìn)行真正的解碼

bmpFactoryOptions.inJustDecodeBounds = false;

bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);

下面是通過一個(gè)意圖使用內(nèi)置攝像頭并顯示結(jié)果圖片的完整示例代碼。圖1-3顯示了一幅由此示例生成的屏幕大小的結(jié)果圖像。

package com.apress.proandroidmedia.ch1.sizedcameraintent;

import java.io.File;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.net.Uri;


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號