Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。
Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。
Canvas - 名为画布,我们可以看作是一种处理过程,使用各种方法来管理Bitmap、GL或者Path路径,同时它可以配合Matrix矩阵类给图像做旋转、缩放等操作,同时Canvas类还提供了裁剪、选取等操作。
Paint - 我们可以把它看做一个画图工具,比如画笔、画刷。他管理了每个画图工具的字体、颜色、样式。
分享到:
相关推荐
在Android平台上,绘制图形是一项基本任务,涉及到多个关键类,如Bitmap、Drawable和Canvas,以及Paint。这些类共同构成了Android图形系统的核心,使得开发者能够创建丰富的用户界面和自定义视图。 首先,Bitmap是...
很多网友刚刚开始学习Android平台,对于Drawable、Bitmap、Canvas和Paint它们之间的概念不是很清楚,其实它们除了Drawable外早在Sun的J2ME中就已经出现了,但是在Android平台中,Bitmap、Canvas相关的都有所变化。...
在Android开发中,图片资源的处理是常见的需求之一,涉及到多种数据类型之间的转换,包括`Drawable`、`Bitmap`、`byte[]`等。本文将详细介绍这些类型之间的转换方法,以及如何实现灰度图像的转换。 ### 1. `...
这段代码首先创建了一个与Drawable尺寸相同的Bitmap对象,然后通过Canvas将Drawable绘制到Bitmap上,最后返回这个Bitmap对象。 ### 2. 从资源中获取Bitmap 从Android资源中直接读取Bitmap,可以利用`BitmapFactory...
在Android开发中,Canvas和Paint是两个至关重要的类,它们为开发者提供了丰富的图形绘制功能,使得我们可以自由地在屏幕上绘制各种形状、线条、文本以及图片。这篇文章将深入探讨Canvas和Paint在Android中的应用,...
在Android开发中,Drawable是图形和图像处理的重要组成部分,它是一种可以绘制到Canvas上的对象,广泛用于界面元素的装饰和状态表示。以下是对Android中drawable集合的详细解释: 1. **Bitmap Drawable**: Bitmap ...
canvas.drawBitmap(bitmap, rect, rect, paint); return output; } @Override public void draw(Canvas canvas) { if (bitmap != null) { canvas.drawBitmap(bitmap, 0, 0, paint); } } // ...其他...
综上所述,实现Bitmap画圆形图片的关键在于自定义绘制逻辑,利用Canvas和Paint的特性。通过这种方式,不仅可以创建出美观的圆形头像效果,还可以根据需求进行更多的图形定制。在实际开发中,要兼顾性能和用户体验,...
在Bitmap上创建一个新的Canvas对象,然后使用Paint设置文字的样式,调用canvas.drawText()方法绘制文字到Bitmap上。 4. **颜色和样式**:使用Paint类可以设置文字的颜色、字体、大小、粗细、对齐方式等。例如,...
接着创建一个`Bitmap` 和一个`Canvas`,并将`Drawable` 绘制到`Canvas` 上。 ##### 6. 获取圆角图片 ```java public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) { int w = bitmap....
- 获取圆角Bitmap:`getRoundedCornerBitmap`方法利用Canvas和Paint创建圆角效果。 - 生成带倒影的Bitmap:`createReflectionImageWithOrigin`方法通过复制和翻转Bitmap并添加渐变效果实现。 以上就是Android中...
canvas.drawBitmap(bitmap, 0, 0, paint); return output; } } ``` 这个自定义的`RoundImageView`会在绘制时自动将其内容转换为圆角图片。通过调整`cornerRadius`属性,你可以改变圆角的半径。 对于更复杂的...
在Android中,`Drawable`是一个抽象类,它代表了屏幕上的可视元素,而`Bitmap`则是一个像素数组,可以直接用于绘制到Canvas上。将`Drawable`转换为`Bitmap`的代码如下: ```java public static Bitmap drawable2...
Canvas tempCanvas = new Canvas(outputBitmap); tempCanvas.drawARGB(0, 0, 0, 0); // 填充透明色 tempCanvas.drawRoundRect(new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()), cornerRadius, ...
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.user_avatar); BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); Paint paint = new...
在Android系统中,Canvas通常与其他类一起使用,比如Paint、Path和Drawable。Paint负责控制图形的外观,如颜色、风格、抗锯齿等;Path用于创建复杂路径,可以组合直线、曲线等元素;Drawable是可绘制对象的抽象接口...
总的来说,Android画图涉及到的内容广泛,从基本的Bitmap和Canvas操作,到复杂的Drawable和Paint配置,再到动态的Animation设计。熟练掌握这些知识点,将有助于开发者创建出富有表现力和交互性的Android应用。
canvas.drawBitmap(bitmap, 0, 0, paint); return output; } } ``` 上述代码创建了一个名为`CircleImageView`的自定义视图,它会将加载的Drawable转换为Bitmap,并通过`getRoundedCroppedBitmap()`方法生成一个...