Android位元影像相關解碼操作

來源:互聯網
上載者:User

標籤:

publicclass BitMapTools {

?

????/**

???? * 對圖片進行解碼操作

???? *

???? * @param resource

???? * 資源檔

???? * @param resId

???? * 解碼位元影像的iD

???? * @param reqWidt

???? * 指定輸出位元影像的寬度

???? * @param reqHight

???? * 制定輸出位元影像的高度

???? * @return

???? */

????publicstatic Bitmap decodeBitmap(Resources resource, int resId,

????????????int reqWidth, int reqHight) {

????????// 對位元影像進行解碼的參數設定

????????BitmapFactory.Options option = new BitmapFactory.Options();

????????// 在對位元影像進行解碼的過程中,避免申請記憶體

????????option.inJustDecodeBounds = true;

????????BitmapFactory.decodeResource(resource, resId, option);

????????//對圖片進行壓縮

????????option.inSampleSize = calculateInSimpleSize(option, reqWidth, reqHight);

????????option.inJustDecodeBounds = false;

????????return BitmapFactory.decodeResource(resource, resId, option);

????}

?

????/**

???? * 計算相關壓縮比例

???? * @param option

???? * @param reqWidth

???? * @param reqHight

???? * @return

???? */

????publicstaticint calculateInSimpleSize(BitmapFactory.Options option,

????????????int reqWidth, int reqHight) {

????????// 擷取圖片的原始寬高

????????int imageHight = option.outHeight;

????????int imageWidht = option.outWidth;

?

????????// 壓縮比例

????????int inSimpleSize = 1;

????????if (imageHight > reqHight || imageWidht > reqWidth) {

????????????finalint heightRatio = Math.round(1.0f * imageHight / reqHight);

????????????finalint widthRatio = Math.round(1.0f * imageWidht / reqWidth);

????????????inSimpleSize = heightRatio < widthRatio ? heightRatio : widthRatio;

????????}

????????return inSimpleSize;

????}

}

Android位元影像相關解碼操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.