Android从Drawable资源Id直接生成Bitmap,Kotlin

embedded/2024/11/20 7:58:50/

Android从Drawable资源Id直接生成Bitmap,Kotlin

 

 

 

        val t1 = System.currentTimeMillis()val bmp = getBmpFromDrawId(this, R.mipmap.ic_launcher_round)Log.d("fly", "1 ${bmp?.byteCount} h=${bmp?.height} w=${bmp?.width} cost time=${System.currentTimeMillis() - t1}")val t2 = System.currentTimeMillis()val scaleBmp = Bitmap.createScaledBitmap(bmp!!, 800, 800, true)Log.d("fly", "2 ${scaleBmp.byteCount} h=${scaleBmp.height} w=${scaleBmp.width} cost time=${System.currentTimeMillis() - t2}")

 

    private fun getBmpFromDrawId(context: Context, drawId: Int): Bitmap? {val drawable = ContextCompat.getDrawable(context, drawId)val bitmap = drawable?.let {Bitmap.createBitmap(it.intrinsicWidth,it.intrinsicHeight,Bitmap.Config.ARGB_8888)}val canvas = bitmap?.let { Canvas(it) }if (canvas != null) {drawable.setBounds(0, 0, canvas.width, canvas.height)drawable.draw(canvas)}return bitmap}

 

 

 

 

 

 

Android Drawable转BitmapDrawable再提取Bitmap,Kotlin_android drawable to bitmap-CSDN博客文章浏览阅读864次。*Java代码 将Drawable转化为Bitmap */ Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth();Android传递Bitmap的两种简单方式及其缺陷_android上传bitmap_zhangphil的博客-CSDN博客。_android drawable to bitmaphttps://blog.csdn.net/zhangphil/article/details/132351440

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

 


http://www.ppmy.cn/embedded/139016.html

相关文章

from sklearn.preprocessing import Imputer.处理缺失数据的工具

在 Python 的 scikit-learn 库中,Imputer 类是一个用于处理缺失数据的工具。它可以用来填充数据集中的缺失值(通常表示为 NaN 或 None)。Imputer 类提供了几种不同的填充策略,包括: 均值填充(mean&#xf…

Spring Cloud Alibaba [Gateway]网关。

1 简介 网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等。而springcloudgateway 作为SpringCloud 官方推出的第二代网关框架,取代了Zuul网关。 1.1 SpringCloudGateway特点: (1)基于Spring5,支持响应…

微服务网关聚合swagger(knife4j版本)

前言 简单集成&#xff0c;最小的依赖及配置&#xff0c;采取默认为主 步骤 依赖<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-gateway-spring-boot-starter</artifactId><version>4.4.0</version> &…

面向对象编程的局限性与适用场景分析

文章目录 1. 性能敏感的应用2. 简单的脚本或小型程序3. 资源受限的环境4. 高并发场景5. 功能单一的应用6. 需要高度定制化和灵活性的应用7. 数据密集型计算8. 需要严格控制内存的应用结论 1. 性能敏感的应用 限制原因&#xff1a; 对象实例化开销&#xff1a;面向对象编程中&…

【支持向量机(SVM)】:算法原理及核函数

文章目录 1 SVM算法原理1.1 目标函数确定1.2 约束条件优化问题转换1.3 对偶问题转换1.4 确定超平面1.5 计算举例1.6 SVM原理小节 2 SVM核函数2.1 核函数的作用2.2 核函数分类2.3 高斯核函数2.3 高斯核函数API2.4 超参数 γ \gamma γ 1 SVM算法原理 1.1 目标函数确定 SVM思想…

力扣题解3243 新增道路查询后的最短距离 I

题目&#xff1a; 给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市&#xff0c;编号从 0 到 n - 1。初始时&#xff0c;每个城市 i 都有一条单向道路通往城市 i 1&#xff08; 0 < i < n - 1&#xff09;。 queries[i] [ui, vi] 表示新建一条从城市 ui 到城市…

【前端学习笔记】Javascript学习二(运算符、数组、函数)

一、运算符 运算符&#xff08;operator&#xff09;也被称为操作符&#xff0c;是用于实现赋值、比较和执行算数运算等功能的符号。 JavaScript中常用的运算符有&#xff1a; 算数运算符、递增和递减运算符、比较运算符、逻辑运算符、赋值运算符 算数运算符&#xff1a; 、-…

刷题训练之深搜(DFS)-----(二叉树的所有路径,全排列,子集)

二叉树的所有路径 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 题目分析&#xff1a; 题目要我们找到一个课的所有路径&#xff0c;就是要找到从根节点到每一个叶子节点的路径 终止条件就是当遇到叶子节点的时候 用…