android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:
1、Drawable → Bitmap
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;
}
2、从资源中获取Bitmap
Resources res=getResources();
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
3、Bitmap → byte[]
private byte [] Bitmap2Bytes(Bitmap bm){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100 , baos);
return baos.toByteArray();
}
4、 byte[] → Bitmap
private Bitmap Bytes2Bimap( byte [] b){
if (b.length!= 0 ){
return BitmapFactory.decodeByteArray(b, 0 , b.length);
}
else {
return null ;
}
}
分享到:
相关推荐
Android开发者学习笔记——View、Canvas、bitmap Android 开发者学习笔记——View、Canvas、bitmap 是 Android 开发中常用的类,本文将通过实例讲解 View、Canvas 等相关知识点。 从资源中获取位图 在 Android ...
#### Drawable与Bitmap转换 在Android中,`Drawable`和`Bitmap`是两种常用的图像表示方式。`Drawable`是一个抽象类,用于描述屏幕上的图形对象,它可以是位图、颜色、形状等。`Bitmap`则代表实际的像素数据,用于...
drawable和bitmap是Android中处理图像资源的两种主要方式。Drawable是一个抽象的概念,可以表示多种图形,如颜色、位图、形状等,具有丰富的状态和动画支持。Bitmap则主要用于存储像素数据,是一种基本的图片格式,...
总的来说,实现"模拟安卓印象笔记"的功能,开发者需要具备扎实的安卓应用开发基础,熟悉富文本编辑、图像处理以及Android的生命周期管理。同时,还需要理解如何优化内存使用,以提供流畅的用户体验。此外,对于网络...
使用ImageSpan需要先将图片转换为Bitmap,然后创建一个ImageSpan对象,最后将其插入到SpannableStringBuilder中。以下是一个简单的示例: ```java Drawable drawable = ContextCompat.getDrawable(context, R....
这些图片通常是以Drawable的形式获取,但我们需要将其转换为Bitmap,以便在绘图时使用。 为了控制自定义开关的大小,我们需要重写`onMeasure()`方法。在这个方法中,我们需要根据背景图片的尺寸来设定自定义开关的...
BitmapPixels示例中提到的AGRB_8888是一种颜色格式,它与Bitmap对象如何存储和处理像素信息密切相关。这个疑问可能源于对这种颜色格式的理解不清晰。在深入探讨之前,首先我们需要了解Bitmap的一些基本概念。 ...
当找到一个表情代码时,会通过`BitmapFactory.decodeResource`方法将资源ID转换为`Bitmap`对象,然后使用`ImageSpan`包裹这个`Bitmap`,最后将其添加到`SpannableString`中,替换原有的表情代码。 4. **递归处理**...