欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android分享微信小程序技巧之圖片優(yōu)化

 更新時(shí)間:2018年11月15日 14:35:07   作者:阿策神奇  
這篇文章主要給大家介紹了關(guān)于Android分享微信小程序技巧之圖片優(yōu)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

小菜上周接入了微信分享小程序的入口,基本功能實(shí)現(xiàn)都沒(méi)問(wèn)題,有需要的朋友可以了解一下 Android 分享微信小程序失敗二三事,雖然功能都正常,但整體測(cè)試發(fā)現(xiàn)圖片展示效果不佳。于是小菜整理了一個(gè)簡(jiǎn)單的小方法處理一下圖片!


微信規(guī)定,分享小程序展示的圖片應(yīng)該在 128KB 以內(nèi),同時(shí)圖片默認(rèn)展示比例為 5:4,這樣小菜默認(rèn)的圖很多是豎直的圖,只會(huì)展示一部分。

遮擋部分圖片

規(guī)定

小菜嘗試了圖片的【等比壓縮】【非等比壓縮】和【不壓縮】,效果依舊不合適,圖片所占位置默認(rèn)以橫向方向填充滿分享出的布局。于是小菜決定重新用 Canvas 繪制一張圖,將所要展示的圖片居中展示,整理方法如下:

public static Bitmap drawWXMiniBitmap(Bitmap bitmap, int width, int height) {
 Bitmap mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
 // 用這個(gè)Bitmap生成一個(gè)Canvas,然后canvas就會(huì)把內(nèi)容繪制到上面這個(gè)bitmap中
 Canvas mCanvas = new Canvas(mBitmap);
 // 繪制畫(huà)筆
 Paint mPicturePaint = new Paint();
 // 繪制背景圖片
 mCanvas.drawBitmap(mBitmap, 0.0f, 0.0f, mPicturePaint);
 // 繪制圖片的寬、高
 int width_head = bitmap.getWidth();
 int height_head = bitmap.getHeight();
 // 繪制圖片--保證其在水平方向居中
 mCanvas.drawBitmap(bitmap, (width - width_head) / 2, (height - height_head) / 2,
  mPicturePaint);
 // 保存繪圖為本地圖片
 mCanvas.save();
 mCanvas.restore();
 return mBitmap;
}

小菜測(cè)試時(shí)發(fā)現(xiàn),很多圖片的尺寸大小和寬高比并非固定的,為了適配整體展示效果,當(dāng)寬高比小于1時(shí),根據(jù)圖片高度來(lái)計(jì)算整體繪制 Bitmap 寬,Bitmap 可以根據(jù)需求展示相應(yīng)的本地資源圖或網(wǎng)絡(luò)圖,寬高可以直接設(shè)置 5:4 大小,小菜測(cè)試 width = 300; height = 240 整體效果較為合適。大家可以根據(jù)個(gè)人需求自定義圖片樣式。


Bitmap bitmap = BitmapUtil.drawWXMiniBitmap(bitmap, bitmap.getHeight() * 5 / 4, bitmap.getHeight());
if (BitmapUtil.isOverSize(bitmap, 128)) {
 bitmap = Utils.resizeBitmap(bitmap, 300, 240);
}

Tips: 繪制完成之后的圖會(huì)比原圖大,所以需要先繪制圖片,再判斷圖片是否超過(guò) 128KB。若超過(guò) 128KB 需要進(jìn)行壓縮,公共的方法暫時(shí)就省略啦!

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論