Drawable、Bitmap、byte[]之间的转换问题

Bitmap与byte、file、Drawable之间的相互转换 1、Bitmap转换成文件:     (1)、根据指定的文件,获取这个文件的输出流     (2)、通过使用Bitmap的compress方法,设置图片存储格式,图片的质量,并制定图片的存储的输出流。     (3)、通过刷新输出流,就完成Bitmap到文件的转换。 代码: public void saveBitmap(Bitmap bm) { Log.e("SaveBitma 阅读详情

Android在处理一些图片资源的时候,会进行一些类型的转换,整理如下:


1、Drawable → Bitmap 的简单方法
((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap();


2、Drawable → Bitmap

Java代码
public static Bitmap drawableToBitmap(Drawable drawable) {

Bitmap bitmap = Bitmap
.createBitmap(
drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(),
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
//canvas.setBitmap(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
drawable.draw(canvas);
return bitmap;
}

Bitmap→Drawable 
BitmapDrawable bitmapDrawable = (BitmapDrawable)bitmap;
Drawable drawable = (Drawable)bitmapDrawable;
Bitmap bitmap = new Bitmap (...);
Drawable drawable = new BitmapDrawable(bitmap);


3、从资源中获取Bitmap
Java代码
Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);


4、Bitmap → byte[]
Java代码
private byte[] Bitmap2Bytes(Bitmap bm){
    ByteArrayOutputStream baos = newByteArrayOutputStream(); 
    bm.compress(Bitmap.CompressFormat.PNG, 100,baos); 
    return baos.toByteArray();
   }


5、 byte[] → Bitmap
Java代码
private Bitmap Bytes2Bimap(byte[] b){
if(b.length!=0){
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
else {
return null;
}
}


更多信息请访问:www.orietech.com

英文博客:orietech.wordpress.com

VCU128开发板上手记:搞定100G以太网IP核与QSFP光模块的那些坑 本文详细介绍了在VCU128开发板上实现100G以太网IP核与QSFP光模块调试的实战经验。从硬件准备、IP核配置到QSFP模块控制信号处理,文章揭示了数据手册中未提及的关键细节,并提供了优化参数和压力测试方案,帮助开发者快速解决UltraScale+平台下的高速以太网部署难题。 阅读详情

相关推荐

告别校准烦恼:用ADS1220和松下ERA3电阻实现±0.05℃精度的Pt100测温方案(附完整电路图)

本文详细介绍了如何利用TI的ADS1220 24位ΔΣ ADC与松下ERA3系列精密电阻构建±0.05℃精度的免校准Pt100测温系统。通过比例测量法架构和关键器件选型,解决了传统方案中的校准繁琐和长期稳定性问题,特别适用于工业控制、医疗设备等高精度温度测量场景。

weixin_30740581的博客 613

将drawable图片转化为byte[]

将Bitmap压缩为byte[]:使用Bitmap的compress()方法将其压缩为字节数组。获取Drawable资源:首先,你需要从资源中获取Drawable对象。这通常是通过Context的getResources().getDrawable()方法完成的。将Drawable转换为Bitmap:Drawable对象本身并不直接提供转换为字节数组的方法,但你可以先将其转换为Bitmap。在Android中,将drawable资源中的图片转化为byte[]数组通常涉及几个步骤。

Adversity reveals genius; fortune conceals it. 694

立创星火计划:基于STM32H743VIH6的Maverick_H743_MK1.0高性能开源飞控硬件全解析

本文详细解析了基于STM32H743VIH6核心的Maverick_H743_MK1.0高性能开源飞控硬件设计。重点阐述了采用双IMU冗余设计、高精度气压计、多路独立电源管理以及丰富接口(如CAN总线)的考量,旨在为穿越机、科研无人机等平台提供强大、可靠的飞行控制解决方案。

weixin_28787801的博客 200

android --- Drawable、Bitmap、byte[]之间的转换

android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:1、Drawable→BitmapJava代码publicstaticBitmapdrawableToBitmap(Drawabledrawable){Bitmapbitmap=Bitmap.c...

dashi6629的博客 196

Qt Tab Widget 实战:如何打造一个可动态增删的标签页管理器(附完整代码)

本文深入探讨了使用Qt框架中的Tab Widget控件构建动态标签页管理器的实战方法。通过分析动态增删的核心挑战,提供了完整的C++代码示例,涵盖信号槽机制、页面生命周期管理、上下文菜单实现以及状态持久化等关键功能,帮助开发者打造高效、用户友好的桌面应用界面。

bb456的博客 1045

在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合

本文介绍了在Mac上搭建本地AI工作流的方法,结合Dify平台和DeepSeek模型。Dify是一个开源的大语言模型应用开发平台,支持可视化AI应用开发。部署步骤包括:1)安装Homebrew和Docker;2)克隆Dify代码库;3)配置环境变量并启动服务。同时,使用Ollama工具本地部署DeepSeek模型,将其集成到Dify中创建聊天助手。通过配置模型接口和新建应用,用户可以在本地环境中实现AI对话功能。这种方案既保证了数据隐私,又提供了灵活的AI应用开发能力。

Linda的自动化测试之旅 1536

drawable 转变为byte

  Drawable d; Bitmap bitmap = ((BitmapDrawable)d).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, bitmap); byte[] b...

点点滴滴 542

【数据库系统工程师】5.4Internet基础知识

目录一、思维导图二、知识点1.Internet 概述2.Internet 地址(1)域名(2)IP 地址(3)NAT技术(4)IPv6简介3.Internet 服务(1)域名服务(2)远程登录服务(3)电子邮件服务(4)WWW服务(5)文件传输服务 一、思维导图 二、知识点 1.Internet 概述 2.Internet 地址 (1)域名 ○ 一个完整、通用的层次型主机域名由如下4部分组成: 计算机主机名.本地名.组名.最高层域名 (2)IP 地址 ○ 每个IP地址都由4个小于256的数字组成,数字之

邓邓子的博客 911

Android Drawable转byte[]

Drawable icon = app.loadIcon(pm); Bitmap bitmap = ((BitmapDrawable)icon).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stre

jinshandayouxia的专栏 2452

从养殖场到科技前沿:YOLOv11+OpenCV精准计数鸡蛋与鸡

YOLOv11结合OpenCV技术,精准识别和计数鸡蛋与鸡,广泛应用于养殖场、市场监控和自动化包装。通过深度学习与计算机视觉,提升农业生产效率,让智能化管理更简单高效。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 1207

哨兵1号回波数据(L0级)包格式解析与成像参数提取

提取哨兵1号数据包的辅助数据、回波数据、定标数据。matlab代码在文末

3127

Android Drawable、Bitmap、byte[]之间的转换

1、Drawable --> Bitmap     Bitmap drawable2Bitmap(Drawable drawable) {         if (drawable instanceof BitmapDrawable) {             return ((BitmapDrawable) drawable).getBitmap();         } else

june5253的专栏 3万+

知识图谱大模型系列之 12 LLM 知识图谱构建器:从零到 GraphRAG 使用 LLM 知识图谱生成器在 GenAI 应用中提取和使用知识图谱(教程含源码)

为了更深入地了解 LLM 知识图谱构建器,GitHub 存储库提供了大量信息,包括源代码和文档。此外,我们的文档提供了详细的入门指南,而GenAI 生态系统则提供了有关可用更广泛工具和应用程序的进一步见解。

iCloudEnd的博客 2037

Android P实现Bitmap、Byte[]数组和Drawable之间的相互转换

在安卓开发中,会经常用到将图片转化成byte[]数组保存或者传输,然后再将byte[]数组转换成图片格式,得到图片。 一、将图片转换成byte[]数组 public static byte[] bitmap2Bytes(Bitmap bitmap){ if( null != bitmap ){ ByteArrayOutputStream baos = new ByteArr...

Sunxiaolin2016的博客 1447

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ImageView显示不出来和Bitmap, Drawable , byte[] 转换关系

用ImageView控件方法:public void setImageBitmap(Bitmap bm) 来显示生成的bimap,结果在图片显示区域显示一片空白,而且其他控件颜色没变化,造成Imageveiw显示图片不出来的假象。 问题原因是: 布局背景我设置为白色,而解码生成的bitmap刚好在白色背景下显示看不到一点图片痕迹,在显示图片的区域看到的只是一片空白,至于为什么bi

EvoShark的专栏 4126

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Android开发——图片类型之间相互转换

本文主要讲述了Android图片不同类型之间的相互转换,例如Drawable和Bitmap、 Bitmap和byte[]等之间互转,现在把实现思路和代码整理出来分享给Android程序员兄弟们,希望给他们的开发工作带来帮助。 本文实例讲述了android图片类型之间相互转换实现代码。分享给大家供大家参考。具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空

尐新^^沒蜡笔的博客 499

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ImageView显示不出来图片

问题?? 用ImageView控件方法:public void setImageBitmap(Bitmap bm) 来显示生成的bimap,结果在图片显示区域显示一片空白,而且其他控件颜色没变化,造成Imageveiw显示图片不出来的假象。 问题原因是: 布局背景我设置为白色,而解码生成的bitmap刚好在白色背景下显示看不到一点图片痕迹,在显示图片的区域看到的只是一片

Sunnyfans的专栏 2万+

Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】

package com.soai.imdemo; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import android.graphics.Bitmap; import android.graphics.BitmapFactory;

肖赛SoAi 3万+

Android进阶2之Bitmap、Drawable、byte[]转换

将Drawable转化为Bitmap public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的长宽 int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); // 取 drawable

落日小屋 2200

Drawable、Bitmap、byte[]之间的转换

Drawable、Bitmap、byte[]之间的转换  1、Drawable → Bitmap 的简单方法  ((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap();  2、Drawable → Bitmap  Java代码  public static Bitmap drawableToBitm

wang_shaner的专栏 548

Android之Drawable转换drawable、bitmap、byte[]

在代码中我们有时需要获取res下的资源文件,尤其是Drawable的图片文件并转换bitmap,或者相互转换Drawable  转  Bitmap方法一:Drawable drawable = getResources().getDrawable(R.drawable.icon); imageview.setBackground(drawable);方法二:Inputstream is = get...

丿CoolTone的博客 1284

android在处理图片资源的时候,Drawable、Bitmap、byte[]之间的转换

1、Drawable → Bitmap public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap(

xdhywj的专栏 1036

android bitmap、drawable、byte[]转换实现

实用的android bitmap、drawable、byte[]、grpc ByteString之间的相互转换

u011376563的博客 422
上一篇: 如何实现ListView异步加载图片
下一篇: Android断点续传核心代码
ORIETech
博客等级 码龄15年 882粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值