Android把一個View轉成Bitmap+處理帶圓角View轉化後黑邊
最近公司在做一個生產海報的功能,其實就是在本地寫一個佈局塞上各種資料,在把這一整個佈局作為圖片儲存到手機上,因此需要把一個view轉成bitmap。
將一個View轉成Bitmap
public static Bitmap createBitmapFromView(View view) {
//如果是ImageView直接獲取
if (view instanceof ImageView) {
Drawable drawable = ((ImageView) view).getDrawable();
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
}
}
view.clearFocus();
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
if (bitmap != null) {
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
canvas.setBitmap(null);
}
return bitmap;
}
用上面的方法即可把一個view轉成bitmap,即可滿足大部分人的需求
不過我在實際開發中,佈局上是有圓角的,用這個方法儲存下來的圖片四周都被填充了黑色,再嘗試了很多方法之後,最後用canvas畫一個背景顏色解決了我的問題,程式碼如下。
處理圓角View的黑邊
public static Bitmap createBitmapFromView(View view) {
if (view instanceof ImageView) {
Drawable drawable = ((ImageView) view).getDrawable();
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
}
}
view.clearFocus();
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
if (bitmap != null) {
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.WHITE);//這裡可以改成其他顏色
view.draw(canvas);
}
return bitmap;
}
相關文章
- Android 帶你擼一個好玩的塗鴉 ViewAndroidView
- 直播平臺原始碼,自定義設定 View 四個角的圓角 以及邊框的設定原始碼View
- Android自定義View:View(二)AndroidView
- Android自定義View之圖片外形特效——輕鬆實現圓角和圓形圖片AndroidView特效
- Android View 系統 1 - View樹AndroidView
- Android XML佈局報錯:android/view/View$OnUnhandledKeyEventListenerAndroidXMLView
- Android自定義view-自繪ViewAndroidView
- 事件分發之View事件處理事件View
- Android自定義View,畫一個好看帶延長線的餅狀圖AndroidView
- 【Android】 給我一個Path,還你一個動畫ViewAndroid動畫View
- Oracle 查詢轉換-02 View MergingOracleView
- Android 自定義View基礎(一)AndroidView
- Android View 原始碼解析(一) - setContentViewAndroidView原始碼
- Android View post 方法AndroidView
- 封裝自定義圓角方向並且可設定投影的View封裝View
- Android 自定義View:處理事件分發(四)AndroidView事件
- Android自定義view系列:手擼一個帶點兒科技感的儀表盤!AndroidView
- 【Android View】寫一個蛛網評分控制元件AndroidView控制元件
- Android自定義view之實現帶checkbox的SnackbarAndroidView
- android圖片處理,讓圖片變成圓形Android
- SSH Tunnel (埠轉發) -- 把個人PC變成“幕後boss”
- 淺談Kotlin實戰篇之自定義View圖片圓角簡單應用(一)KotlinView
- Android自定義View整合AndroidView
- Android View體系(4)AndroidView
- Android View 的工作原理AndroidView
- Android新手引導ViewAndroidView
- Android View 原始碼解析(三) – View的繪製過程AndroidView原始碼
- Attempt to invoke virtual method ‘int android.view.View.getImportantForAccessibility()‘ on a null obAndroidViewImportNull
- View繪製01-Android渲染系統中的ViewViewAndroid
- Android 實現一個通用的圓角佈局Android
- 動圖之一個圓繞另一個圓轉動
- 帶圓角的虛線邊框?CSS 不在話下CSS
- json字串轉義格式化後再轉換處理demo StringEscapeUtils.unescapeJavaJSON字串Java
- 如何把多張jpg轉換成一個pdf檔案?
- Android自定義View之(一)View繪製流程詳解——向原始碼要答案AndroidView原始碼
- [Android]關於Android子view超出父view無法響應點選事件AndroidView事件
- 帶你真正認識ViewView
- css圓角矩形邊框CSS