91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

根據屏幕縮放圖片

發布時間: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

鄂托克前旗| 常州市| 新巴尔虎右旗| 安陆市| 惠来县| 始兴县| 崇义县| 曲阳县| 吴堡县| 桐乡市| 格尔木市| 文昌市| 论坛| 象山县| 库尔勒市| 永定县| 萍乡市| 通山县| 平乐县| 琼海市| 江北区| 德清县| 永安市| 望城县| 弋阳县| 肇源县| 新平| 林芝县| 年辖:市辖区| 汾阳市| 甘洛县| 洪雅县| 舒城县| 特克斯县| 五华县| 茶陵县| 石阡县| 和龙市| 英山县| 苏尼特左旗| 日土县|