中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

根據屏幕縮放圖片

發布時間:2020-06-21 21:44:41 來源:網絡 閱讀:421 作者:stlong515 欄目:開發技術

// 由url獲取bitmap對象

is = conn.getInputStream(); // 簡寫方法:is = params[0].openStream()

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

bitmap = BitmapFactory.decodeStream(is, null ,

newOpts);

// newOpts.inJustDecodeBounds = false;

// bitmap = BitmapFactory.decodeStream(is);

newOpts.inJustDecodeBounds = false;

Matrix matrix = new Matrix();

int w = newOpts.outWidth;

int h = newOpts.outHeight;

WindowManager manage = getWindowManager();

Display display = manage.getDefaultDisplay();

float hh = display.getHeight();

float ww = display.getWidth();



// Log.e("display.getWidth()t", "display.getWidth()" + ww);

// Log.e("display.getHeight()", "display.getHeight()" + hh);

// Log.e("bitmap.getWidth()", "bitmap.getWidth()" + w);

// Log.e("bitmap.getHeight()", "bitmap.getHeight()" + h);

// int hh = 800;// 這里設置高度為800f

// int ww = 480;// 這里設置寬度為480f

// 縮放比。由于是固定比例縮放,只用高或者寬其中一個數據進行計算即可

float be = 1;// be=1表示不縮放

if ( w > ww)

{// 如果寬度大的話根據寬度固定大小縮放

be = (float) (w / ww);

Log.e("matrix0.", "matrix0." + be);

newbmp = compressImage(bitmap);

return newbmp;

}

else if (w < ww )

{

be = (float) (ww / w);

Log.e("matrix1.", "matrix1." + be);

}

else if (w < h && h > hh)

{// 如果高度高的話根據高度固定大小縮放

be = (int) (h / hh);

Log.e("matrix2.", "matrix2." + be);

}

if (be <= 0)

be = 1;

// newOpts.inSampleSize = (int) be;//設置縮放比例

Log.e("matrix.postScale", "matrix.postScale" + be);

matrix.postScale(be, be);

// newOpts.inSampleSize = (int) be;// 設置縮放比例

// 重新讀入圖片,注意此時已經把options.inJustDecodeBounds 設回false了

// bitmap = BitmapFactory.decodeStream(is, null ,

// newOpts);

bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, matrix, true);

newbmp = compressImage(bitmap);// 壓縮好比例大小后再進行質量壓縮

mCacheMap.put(strURL, newbmp);



/**

* 質量壓縮

*

* @param p_w_picpath

* @return

*/

private Bitmap compressImage(Bitmap p_w_picpath)

{


ByteArrayOutputStream baos = new ByteArrayOutputStream();

p_w_picpath.compress(Bitmap.CompressFormat.JPEG, 100, baos);// 質量壓縮方法,這里100表示不壓縮,把壓縮后的數據存放到baos中

int options = 100;

while (baos.toByteArray().length / 1024 > 100)

{ // 循環判斷如果壓縮后圖片是否大于100kb,大于繼續壓縮

baos.reset();// 重置baos即清空baos

options -= 10;// 每次都減少10

p_w_picpath.compress(Bitmap.CompressFormat.JPEG, options, baos);// 這里壓縮options%,把壓縮后的數據存放到baos中


}

ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());// 把壓縮后的數據baos存放到ByteArrayInputStream中

Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);// 把ByteArrayInputStream數據生成圖片

// try {

// FileOutputStream out = new

// FileOutputStream(Environment.getExternalStorageDirectory()

// + "/faceImage1.jpg");

// Log.i("path",

// Environment.getExternalStorageDirectory()+"/faceImage1.jpg");

// bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);

// }

// catch (Exception e) {

// e.printStackTrace();

// }

return bitmap;

}



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定州市| 温宿县| 晋城| 新邵县| 新田县| 新安县| 金平| 原阳县| 辽宁省| 重庆市| 光山县| 开远市| 永春县| 铜梁县| 沿河| 河西区| 阿城市| 阳江市| 剑川县| 响水县| 平利县| 金昌市| 土默特左旗| 莱阳市| 长汀县| 绥化市| 娱乐| 称多县| 东乡族自治县| 同江市| 寿阳县| 托克逊县| 怀仁县| 大宁县| 沿河| 上饶市| 临泽县| 慈利县| 怀安县| 蒙自县| 化德县|