Android画布Canvas裁剪clipRect,Kotlin
- 软件开发
- 2025-07-21 19:06:56

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) //把原图绘制在画布Canvas canvas.drawBitmap(originBmp, 0f, 0f, null) val paint = Paint(Paint.ANTI_ALIAS_FLAG) paint.color = Color.BLUE paint.style = Paint.Style.STROKE paint.strokeWidth = 30f val centerX = originBmp.width / 2 val centerY = originBmp.height / 2 val w = 300 val h = 200 val 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? = null val 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 press(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博客。 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保存图片 blog.csdn.net/zhangphil/article/details/134603333
Android画布Canvas裁剪clipRect,Kotlin由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Android画布Canvas裁剪clipRect,Kotlin”