Android中 Bitmap和Drawable相互转换的方法
2023-09-27 14:27:19 时间
1、Drawable --> Bitmap
- Bitmap drawable2Bitmap(Drawable drawable) {
- if (drawable instanceof BitmapDrawable) {
- return ((BitmapDrawable) drawable).getBitmap();
- } else if (drawable instanceof NinePatchDrawable) {
- 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);
- drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
- drawable.getIntrinsicHeight());
- drawable.draw(canvas);
- return bitmap;
- } else {
- return null;
- }
- }
2、从资源中获取的Drawable --> Bitmap
- Resources res = getResources();
- Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.pic);
3、Bitmap --> Drawable
- Drawable bitmap2Drawable(Bitmap bitmap) {
- return new BitmapDrawable(bitmap);
- }
4、Bitmap --> byte[]
- byte[] Bitmap2Bytes(Bitmap bm) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
- return baos.toByteArray();
- }
5、 byte[] --> Bitmap
- Bitmap Bytes2Bimap(byte[] b) {
- if (b.length != 0) {
- return BitmapFactory.decodeByteArray(b, 0, b.length);
- } else {
- return null;
- }
- }
相关文章
- Android Studio中利用JavaDoc生成项目API文档
- 玩转系统|解决 Windows 11 Android子系统启动报错的问题,启用虚拟机平台教程
- IDEA Android 表格布局(TableLayout)示例
- root技术背后android手机内核提取及逆向分析
- Android实现局部图片滑动指引效果
- Android中dp和px之间进行转换
- Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍
- 关于Android的Service知识点,你知道吗?
- Xamarin Android开发实战(上册)大学霸内部资料
- 从零开始学android开发-项目重命名
- 从零开始学android开发-用Intent启动Activity的方法
- Android图像滤镜框架GPUImage从配置到应用
- android 自定义View开发实战(六) 可拖动的GridView
- Android时间戳与字符串相互转换
- Android动态设定GridView的高度,固定column,实现高度自适应
- android.graphics包中的一些类的使用
- Android解析XML
- Android音视频技术之MediaPlayer视频窗口尺寸适配
- Android系统时间制式的获取(24小时制式/12小时制式)及UTC与本地时间的转换
- Android.mk添加本地程序和库的经常使用模版
- Android Studio 基础 之 获取系统Calendar 日历日程(可获得当天以后可设定天数范围内的日历日程) (涉及指定日期时间判断是星期几的方法使用)的方法整理
- Android软件测试的日志文件问题
- OpenCV4 Android 颜色空间转换