Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,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