Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin

Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin

Kotlin 复制代码
    fun getOriginalBitmap(resId: Int): Bitmap {
        val options = BitmapFactory.Options()
        options.inJustDecodeBounds = true //只解析原始图片的宽高,不decode原始文件装载到内存的Bitmap。
        BitmapFactory.decodeResource(resources, resId, options)

        //这一阶段,最关键的是获取原始图片的真实宽高
        val srcBmpWidth = options.outWidth
        val srcBmpHeight = options.outHeight

        val d = ContextCompat.getDrawable(applicationContext, R.mipmap.p1)

        //根据原始图片的宽高创建一个空的Bitmap
        val bitmap = Bitmap.createBitmap(srcBmpWidth, srcBmpHeight, Bitmap.Config.ARGB_8888)
        val canvas = Canvas(bitmap)
        d?.setBounds(0, 0, srcBmpWidth, srcBmpHeight)
        d?.draw(canvas) //至此,bitmap即为原始图片。

        return bitmap
    }

Android Drawable 转化成 Bitmap-CSDN博客文章浏览阅读1.8k次。/*Java代码 将Drawable转化为Bitmap */ Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap bitmaphttps://blog.csdn.net/zhangphil/article/details/43767535

相关推荐
yuanManGan6 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维
叶羽西6 小时前
Android15跟踪函数调用关系
android
消失的旧时光-19437 小时前
webView 的canGoBack/goBack 回退栈
android·webview
SHEN_ZIYUAN7 小时前
Flow 责任链模式图解
android
沐怡旸9 小时前
【底层机制】LeakCanary深度解析:从对象监控到内存泄漏分析的完整技术体系
android·面试
又菜又爱coding10 小时前
Android + Flutter打包出来的APK体积太大
android·flutter
LiuYaoheng10 小时前
【Android】Drawable 基础
android·java
Jerry11 小时前
构建 Compose 界面
android
Y多了个想法12 小时前
Linux驱动开发与Android驱动开发
android·linux·驱动开发
Frank_HarmonyOS14 小时前
在 Android 中使用协程(Coroutine)
kotlin