转自:http://www.cnblogs.com/coding-way/archive/2011/07/26/2117522.html
Bitmap.Config ALPHA_8
Bitmap.Config ARGB_4444
Bitmap.Config ARGB_8888
Bitmap.Config RGB_565
A R G B
透明度 红色 绿色 蓝色
Bitmap.Config ARGB_4444 16 每个像素 占四位
Bitmap.Config ARGB_8888 32 每个像素 占八位
Bitmap.Config RGB_565 16 R占5位 G占6位 B占5位 没有透明度(A)
使用示例:
Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);
Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
上面四个函数返回一个可改变的Bitmap对象。
假如我们使用Bitmap.Config.ARGB_8888
protected void onDraw(Canvas canvas) {
Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
//c.draw...(),通过c可以改变bitmap
canvas.draw(bitmap, null, null);//最后在把bitmap画到canvas上
super.onDraw(canvas);
}
参见:
http://developer.android.com/reference/android/graphics/Bitmap.html#createBitmap(int, int, android.graphics.Bitmap.Config)一般情况下我们都是用argb888 但是无可厚非 它也相对的很占内存因为一个像素32位 8位一个字节 如果是800*480的图片的话自己算 估计有1M多了
分享到:
相关推荐
要将一个`View`转换为`Bitmap`,我们需要执行以下几个步骤: 1. **创建Bitmap对象**:`Bitmap.createBitmap()`方法用于创建一个新的Bitmap,参数分别是宽度、高度和颜色格式。我们通常使用`View`的测量尺寸(`...
在Android开发中,图片资源的处理是常见的需求之一,尤其涉及到不同格式间的转换,如Drawable、Bitmap、byte数组以及灰度图像的转换。这些转换在实际应用中具有重要意义,不仅能够优化内存使用,还能实现图像的高效...
10. **图片压缩**:为了节省存储空间和网络传输,可以使用Bitmap.CompressFormat将Bitmap压缩为JPEG或PNG等格式,调整质量参数来控制压缩程度。 11. **使用ImageView**:Bitmap通常与ImageView结合使用,通过设置...
我们将深入讨论以下几个关键知识点: 1. **图片压缩原理**:图片压缩通常是通过降低图片质量、分辨率或使用特定的压缩算法来减小文件大小。常见的有有损压缩(如JPEG)和无损压缩(如PNG)两种类型。 2. **Bitmap...
一般我们会使用`Bitmap.compress(Bitmap.CompressFormat.JPEG, quality, stream)`方法,其中`quality`参数决定压缩质量,`stream`是输出流,通常会写入到文件系统中。 5. **权限申请**: 在Android 6.0(API级别23...
这里使用了`Bitmap.compress()`方法来压缩Bitmap对象,其中`Bitmap.CompressFormat.JPEG`表示输出的图片格式为JPEG,而`100`表示压缩质量(取值范围为0-100)。 #### 2. Bitmap转Base64字符串 另一种常见的做法是...
开发者可以使用 `Bitmap.Config.ARGB_8888` 和 `Bitmap.Config.RGB_565` 等不同的配置来调整位图质量与内存使用之间的平衡。 4. **内存和磁盘缓存**:为了提高图片加载速度,可以使用 LRU 缓存策略来管理 Bitmap,...
在Android开发中,UI开发主要包括以下几个方面:布局设计、控件使用、动画效果、自定义视图以及图形图像处理等。本篇将重点围绕Android UI开发中的一些核心知识点进行展开讲解。 #### 二、资源访问与管理 1. **`...
图片选择框架通常包含以下几个核心功能: 1. 多选模式:支持用户选择多张图片,满足批量操作的需求。 2. 图片预览:点击缩略图可以查看大图,提供平移、缩放等手势操作。 3. 裁剪功能:允许用户对选定的图片进行裁剪...
本篇文章将深入探讨如何在Android应用中实现图片水印功能,主要涉及以下几个关键知识点: 1. **图片处理基础**: 在Android中,处理图片通常涉及到`Bitmap`类的使用。`Bitmap`是Android系统提供的用于处理图像的...
可以使用`Bitmap.Config`枚举类中的`ARGB_8888`(质量高,内存占用大)、`RGB_565`(质量较低,内存占用小)或其他配置,根据实际需求平衡图片质量和内存占用。 4. **内存缓存**:使用LRU算法的内存缓存可以帮助...
此外,`RequestCreator`类也提供了几个自定义方法: 1. `config(Bitmap.Config config)`:与`defaultBitmapConfig(Bitmap.Config bitmapConfig)`类似,可以为单次请求设置像素格式,但只对当前请求有效。 2. `...
总结,自定义`ImageView`实现圆角图片功能主要涉及以下几个关键点: 1. 继承`ImageView`并覆盖`onDraw()`方法。 2. 使用`BitmapShader`对`Bitmap`进行着色处理。 3. 计算并绘制圆角或圆形。 4. 可能需要处理尺寸并...
本篇文章将探讨一种能够将大尺寸图片压缩至几百KB甚至100KB以下,同时保持图片质量不变的策略。 首先,我们需要理解图片压缩的基本原理。图片压缩分为有损压缩和无损压缩两种。有损压缩如JPEG,会通过减少颜色数据...
但是,这种方法可能影响图片质量,尤其是渐变效果和需要复杂特效处理的图片。 当不再需要Bitmap对象时,记得及时回收。使用`bitmap.recycle()`方法释放Bitmap占用的内存,并通过调用`System.gc()`提示系统进行垃圾...
为了调用Mupdf进行PDF转图片,我们需要做以下几步: 1. **导入Mupdf库**:在C#项目中,使用`DllImport`特性来导入`libmupdf.dll`,这样就可以在C#代码中调用Mupdf的API。 2. **初始化Mupdf**:创建一个`fdf_...
这通常通过绘制`Bitmap`实现,将当前页和下一页的内容合并到一个图片上,然后模拟纸张翻页的物理运动。可以使用`Canvas`进行绘图,并利用`Path`和`Paint`对象来绘制页面边缘的阴影和折痕效果。 4. **动画实现**: ...
为了提升Android开发技能,你可以进一步学习以下几个专题: - **Android图形与图像处理技巧**:理解Android的图像处理机制,学习如何进行图像裁剪、缩放、旋转等操作。 - **Android开发入门与进阶教程**:从基础...
BMP(Bitmap)是Windows系统下的位图格式,未经过压缩,图像质量高但文件体积大。 PicConvert的核心功能就是快速、高效地在这四种格式间进行转换。用户可以选择批量转换,大大提升了工作效率。例如,如果你有一批...
以下是对给定文件中的几个关键知识点的详细解释: 1. **图片透明化**: 使用`Bitmap.createBitmap()`创建一个新的位图对象,并指定配置为`Bitmap.Config.ARGB_4444`,这种配置支持透明度。然后通过`eraseColor()`...