引用
/**
* Bitmap转化为drawable
*
* @param bitmap
* @return
*/
public static Drawable bitmap2Drawable(Bitmap bitmap) {
return new BitmapDrawable(bitmap);
}
/**
* Drawable 转 bitmap
*
* @param drawable
* @return
*/
public static 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;
}
}
分享到:
相关推荐
要将Drawable转换为Bitmap,可以使用`Drawable`的`toBitmap()`方法(此方法在API 24及以上版本可用)。对于较低版本,我们可以使用以下代码: ```java Bitmap bitmap = drawableToBitmap(drawable); public ...
* 使用setImageBitmap()方法时,需要提供bitmap对象,例如读取本地相册或从资源文件转换而来。 小结 Bitmap和Drawable都是Android平台中常见的图形对象,但是它们之间存在着很大的区别。Bitmap是一种逐像素的显示...
1. **从Drawable转换到Bitmap** 要实现从`Drawable`到`Bitmap`的转换,可以通过以下步骤完成: ```java public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable...
在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...
将Drawable转换为Bitmap时,首先要确保Drawable是可以直接获取到Bitmap的类型,例如BitmapDrawable。以下是一个例子: ```java Drawable d = xxx; // 获取Drawable对象 if (d instanceof BitmapDrawable) { ...
将Drawable转换为Bitmap是最常见的需求之一,尤其是在需要将Drawable中的图像数据提取出来进行进一步处理时。以下是一种典型的转换方法: ```java Drawable drawable = getResources().getDrawable(R.drawable.your...
要将Drawable转换为Bitmap,可以使用Drawable的`copyBounds()`方法获取其尺寸,然后创建一个Bitmap对象,并使用Canvas绘制Drawable到Bitmap。 2. Bitmap到Drawable: 可以通过创建一个BitmapDrawable对象,将...
这段代码首先创建了一个与Drawable尺寸相同的Bitmap对象,然后通过Canvas将Drawable绘制到Bitmap上,最后返回这个Bitmap对象。 ### 2. 从资源中获取Bitmap 从Android资源中直接读取Bitmap,可以利用`BitmapFactory...
Android Drawable和Bitmap的转换实例详解 通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式 一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 ...
### Android中Drawable、Bitmap与byte[]之间的转换 在Android应用开发过程中,经常需要对图像资源进行处理,这就涉及到了不同图像格式之间的转换。本文将详细介绍`Drawable`、`Bitmap`及`byte[]`三者之间的转换方法...
5. **Bitmap转Drawable**:虽然Android没有直接提供Bitmap转Drawable的方法,但可以通过创建一个新的BitmapDrawable对象,将Bitmap作为参数传入,从而实现转换。 6. **制作圆角Bitmap**:通过自定义方法,如`...
3. **Bitmap与Canvas**:首先,你需要将文字转换为Bitmap。这可以通过使用Canvas和Paint对象来实现。在Bitmap上创建一个新的Canvas对象,然后使用Paint设置文字的样式,调用canvas.drawText()方法绘制文字到Bitmap上...
根据drawable id获取Bitmap 根据drawable id获取Drawable bitmap转drawable 获取资源图片 以最省内存的方式读取本地资源的图片 读取本地drawable中较大的资源图片 从文件得到BitMap 从数组得到Bitmap 从流中得到...
在Android应用开发中,将View或Drawable转换为Bitmap是一项常见的需求。这主要涉及到视图的渲染和图像处理,常用于截图、自定义视图动画、数据记录等多种场景。以下是关于如何进行这种转换以及解决相关问题的详细...
Bitmap是Android中表示位图图像的基本类,而BitmapDrawable是Drawable的一种,可以被设置为ImageView等视图的源。在某些场景下,例如设置自定义背景或者使用动画时,可能需要将Bitmap转换为BitmapDrawable。这可以...
- **Drawable转Bitmap**:先将Drawable转换为`BitmapDrawable`,然后调用`getBitmap()`方法。 5. **Bitmap与数组的转换** - **Bitmap转数组**:可以使用`Bitmap.copyPixelsToBuffer(Buffer buffer)`方法,将...
1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为Bitmap时,可以使用以下方法: ```java public static Bitmap drawableToBitmap(Drawable drawable) { ...
本文详细介绍了Android中`Bitmap` 的基本操作方法,包括从资源中加载、转换为字节数组、字节数组转换为`Bitmap`、缩放、将`Drawable` 转换为`Bitmap`以及获取圆角图片。这些操作对于处理图像数据非常重要,是每个...