Android将ImageView显示的图原样取出转换为Bitmap,Kotlin

Android将ImageView显示的图原样取出转换为Bitmap,Kotlin

Kotlin 复制代码
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.Rect
import android.graphics.drawable.Drawable

fun drawableToIntrinsicBitmap(imageView:ImageView): Bitmap? {
    val drawable = imageView.drawable ?: return null

    val intrinsicWidth = drawable.intrinsicWidth
    val intrinsicHeight = drawable.intrinsicHeight

    if (intrinsicWidth <= 0 || intrinsicHeight <= 0) {
        return null
    }

    val bitmap = Bitmap.createBitmap(
        intrinsicWidth,
        intrinsicHeight,
        Bitmap.Config.ARGB_8888
    )

    val canvas = Canvas(bitmap)

    val oldBounds = Rect(drawable.bounds)

    drawable.setBounds(
        0,
        0,
        intrinsicWidth,
        intrinsicHeight
    )

    drawable.draw(canvas)

    drawable.bounds = oldBounds

    return bitmap
}
相关推荐
wen_zhufeng3 小时前
用 vLLM 加速 TTS 推理:通用改造指南
android·vllm
名剑走天下4 小时前
android 面试题
kotlin
长友cy5 小时前
windows 搭建Qt编译Android 应用程序,快速搭建
android·windows
智驭未来掌门人5 小时前
Android Kotlin 开发避坑指南:从语言特性到工程化实践
android
码农coding6 小时前
android12 ViewRootImpl分析
android
stevenzqzq6 小时前
compose项目返回到当前页面闪烁原因分析
android
古法安卓6 小时前
Android-显示流程
android·java·android studio
CircleMouse6 小时前
画一个Android智能手机机器人
android·智能手机·机器人
数据知道8 小时前
PHP 代码审计实战——ThinkPHP、Laravel 历史漏洞模式深度剖析
android·网络·web安全·网络安全·php·laravel
拍客圈8 小时前
换服务器 mozcjpeg 5.0.0
android