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;
}
相關文章
- Activity轉換為View和把圖片轉換為ViewView
- android 圓角圖片 處理Android
- 直播平臺原始碼,自定義設定 View 四個角的圓角 以及邊框的設定原始碼View
- 自定義view實現圓角圖片View
- Android 帶你擼一個好玩的塗鴉 ViewAndroidView
- 自定義View實現箭頭沿圓轉動View
- Android自定義View之圖片外形特效——輕鬆實現圓角和圓形圖片AndroidView特效
- Android:將View的內容對映成Bitmap轉圖片匯出AndroidView
- 3個自定義view佈局:矩形TextView,圓形進度條,圓環viewTextView
- Android自定義View:View(二)AndroidView
- view邊框陰影View
- 探究Android View 繪製流程,Xml 檔案到 View 物件的轉換過程AndroidViewXML物件
- 事件分發之View事件處理事件View
- 帶圓角的虛線邊框?CSS 不在話下CSS
- 將xml佈局轉換成View的幾種方式XMLView
- 封裝自定義圓角方向並且可設定投影的View封裝View
- css圓角矩形邊框CSS
- Android View 系統 1 - View樹AndroidView
- Android ViewAndroidView
- 你不知道的圓形圓角處理方式
- android繪製花邊view-WaveLineViewAndroidView
- 【Android】 給我一個Path,還你一個動畫ViewAndroid動畫View
- Android自定義View,畫一個好看帶延長線的餅狀圖AndroidView
- Android在多個Activity之間共享一個ViewAndroidView
- Android自定義view-自繪ViewAndroidView
- Android自定義View的實現方法,帶你一步步深入瞭解View(四)AndroidView
- 關於圓角的5種處理方式
- android view 分析AndroidView
- android圖片處理,讓圖片變成圓形Android
- 淺談Kotlin實戰篇之自定義View圖片圓角簡單應用(一)KotlinView
- Android 實現一個通用的圓角佈局Android
- Android XML佈局報錯:android/view/View$OnUnhandledKeyEventListenerAndroidXMLView
- iOS view圓角化的四種方法iOSView
- 請問:把 Service 給 View,讓 View 自己獲取 Model 是否合理?View
- Android自定義view系列:手擼一個帶點兒科技感的儀表盤!AndroidView
- Android 自定義View基礎(一)AndroidView
- 轉:物化檢視(Materialized View)介紹ZedView
- Android進階 自定義View(三)圓形刻度進度條AndroidView