Android畫布Canvas裁剪clipRect,Kotlin
?
?
private fun mydraw() {val originBmp = BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val newBmp = Bitmap.createBitmap(originBmp.width, originBmp.height, Bitmap.Config.ARGB_8888)val canvas = Canvas(newBmp)//把原圖繪制在畫布Canvascanvas.drawBitmap(originBmp, 0f, 0f, null)val paint = Paint(Paint.ANTI_ALIAS_FLAG)paint.color = Color.BLUEpaint.style = Paint.Style.STROKEpaint.strokeWidth = 30fval centerX = originBmp.width / 2val centerY = originBmp.height / 2val w = 300val h = 200val rect = Rect(centerX - w / 2, centerY - h / 2, centerX + w / 2, centerY + h / 2)canvas.clipRect(rect) //選(裁剪)出一塊中心區域。iv1?.setImageURI(Uri.fromFile(saveBitmapToFile(newBmp)))canvas.drawColor(Color.RED) //在這塊中心區域繪制顏色。iv2?.setImageURI(Uri.fromFile(saveBitmapToFile(newBmp)))canvas.drawRect(rect, paint) //在這塊中心區域邊框繪制線。iv3?.setImageURI(Uri.fromFile(saveBitmapToFile(newBmp)))}private fun saveBitmapToFile(bm: Bitmap): File? {var saveFile: File? = nullval savePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()if (!Files.exists(Paths.get(savePath))) {Log.d("保存文件", "${savePath}不存在!")} else {saveFile = File(savePath, System.currentTimeMillis().toString() + ".jpeg")try {val saveImgOut = FileOutputStream(saveFile)//壓縮bm.compress(Bitmap.CompressFormat.JPEG, 90, saveImgOut)saveImgOut.flush()saveImgOut.close()Log.d("保存文件", "Bitmap保存至 ${saveFile.absoluteFile.toPath()}")} catch (e: Exception) {e.printStackTrace()}}return saveFile}
?
?
?
?
Android畫布Canvas繪制drawBitmap基于源Rect和目的Rect,Kotlin-CSDN博客文章瀏覽閱讀1.3k次,點贊19次,收藏15次。文章瀏覽閱讀9.6k次。文章瀏覽閱讀1.8k次。/*Java代碼 將Drawable轉化為Bitmap */ Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth();Android Material Design :LinearLayoutCompat添加分割線divider_linearlayout 分割線-CSDN博客。https://blog.csdn.net/zhangphil/article/details/134818221
Android Bitmap保存成至手機圖片文件,Kotlin_android bitmap保存圖片-CSDN博客文章瀏覽閱讀883次,點贊8次,收藏5次。Android拼接合并圖片生成長圖代碼實現合并兩張圖片,以第一張圖片的寬度為標準,如果被合并的第二張圖片寬度和第一張不同,那么就以第一張圖片的寬度為準線,對第二張圖片進行縮放。假設根目錄的Pictures下已經有兩張圖片zhang.jpg和phil.jpg,最終把這兩張圖片合并成zhangphil.jpg的長圖:package zhangphil.test;_android bitmap保存圖片https://blog.csdn.net/zhangphil/article/details/134603333
?
?