public Bitmap setIcon(Drawable drawable) {
int width = drawable.getIntrinsicWidth(); // 取drawable的长宽
int height = drawable.getIntrinsicHeight();
Log.v("setIcon","*****width:" + width);
Log.v("setIcon","*****height:" + height);
Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565; // 取drawable的颜色格式
int ww = (int)(width*1.5);
int hh = (int)(height*1.5);
Bitmap bitmap = Bitmap.createBitmap(ww, hh, config); // 建立对应bitmap
Canvas canvas = new Canvas(bitmap); // 建立对应bitmap的画布
drawable.setBounds(0, 0, ww, hh);
drawable.draw(canvas); // 把drawable内容画到画布中
return bitmap;
}
分享到:
相关推荐
- 当Drawable包含动画时(如Animatable),转换成Bitmap可能会丢失动画效果。 - 使用`Drawable.ConstantState`可以复用Drawable,减少内存开销,但不适用于所有类型的Drawable。 4. **应用场景** - Bitmap更...
从byte数组恢复成Bitmap,主要用于接收网络传输的数据或从文件读取数据后还原图像。 ```java private Bitmap Bytes2Bimap(byte[] b) { if (b.length != 0) { return BitmapFactory.decodeByteArray(b, 0, b....
在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...
1. **从Drawable转换到Bitmap** 要实现从`Drawable`到`Bitmap`的转换,可以通过以下步骤完成: ```java public static Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable...
当我们从网络或本地文件系统加载图像时,通常会先将其读取为InputStream,然后再转换成Bitmap或Drawable。 byte数组则常用于存储二进制数据,如图像的原始像素数据。在网络传输或保存到数据库时,将Bitmap转换为...
### Android中Drawable、Bitmap与byte[]之间的转换 在Android应用开发过程中,经常需要对图像资源进行处理,这就涉及到了不同图像格式之间的转换。本文将详细介绍`Drawable`、`Bitmap`及`byte[]`三者之间的转换方法...
Android Drawable和Bitmap的转换实例详解 通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式 一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 ...
在Android应用开发中,将View或Drawable转换为Bitmap是一项常见的需求。这主要涉及到视图的渲染和图像处理,常用于截图、自定义视图动画、数据记录等多种场景。以下是关于如何进行这种转换以及解决相关问题的详细...
将Drawable转换为Bitmap是最常见的需求之一,尤其是在需要将Drawable中的图像数据提取出来进行进一步处理时。以下是一种典型的转换方法: ```java Drawable drawable = getResources().getDrawable(R.drawable.your...
很多开发者表示,不知道Android的Drawable和Bitmap之间如何相关转换。下面Android123给大家两种比较简单高效的方法。... 转成Bitmap对象后,可以将Drawable对象通过Android的SK库存成一个字节输出流,最终还可以保
标题中的“文字转换成Drawable”指的是在Android开发中将文本转化为可绘制对象(Drawable)的技术。这通常用于自定义UI,比如将文字作为图片显示在ImageView或者背景中,或者为按钮、图标添加带有文字的自定义效果。...
* 使用setImageBitmap()方法时,需要提供bitmap对象,例如读取本地相册或从资源文件转换而来。 小结 Bitmap和Drawable都是Android平台中常见的图形对象,但是它们之间存在着很大的区别。Bitmap是一种逐像素的显示...
2. **将Drawable转换成Bitmap对象**: ```java private Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap....
5. **Bitmap转Drawable**:虽然Android没有直接提供Bitmap转Drawable的方法,但可以通过创建一个新的BitmapDrawable对象,将Bitmap作为参数传入,从而实现转换。 6. **制作圆角Bitmap**:通过自定义方法,如`...
Bitmap是Android中表示位图图像的基本类,而BitmapDrawable是Drawable的一种,可以被设置为ImageView等视图的源。在某些场景下,例如设置自定义背景或者使用动画时,可能需要将Bitmap转换为BitmapDrawable。这可以...
4. **自定义转换**:xUtils3允许开发者自定义Drawable和Bitmap之间的转换,满足了个性化需求,例如将Drawable转换为Bitmap进行特定的图像处理,或者将Bitmap转化为Drawable以便于设置为View的背景等。 5. **异步...
1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为Bitmap时,可以使用以下方法: ```java public static Bitmap drawableToBitmap(Drawable drawable) { ...