做游戏经常遇到这个情况,一张图片,从完全透明,渐渐过渡到不透明显示出来。
常规的处理方式是:获得该图象的ARGB颜色数组,每次绘制调整颜色信息。这种方法需要把处理的内容绘制到一张缓冲图象上,再获得该图象的颜色信息,每次循环再逐像素处理。比较繁琐。
下面介绍用android封装的滤镜实现半透明过渡效果,先介绍一下颜色矩阵:
|a b c d e | |R|
A = |f g h i j | C=|G|
|k l m n o | |B|
|p q r s t | |A|
|1|
|R'|
|G'|
R'= |B'|=A*C
|A'|
矩阵A即为颜色矩阵,每行分别表示R、G、B、A通道。每列表示R、G、B、A分量,最后一列是整体偏移。
矩阵C是原来的颜色信息,最终颜色R‘=A*C,运算方式如下:
R'=a*R+b*G+c*B+d*A+e
G'=f*R+g*G+h*B+i*A+j
B'=k*R+l*G+m*B+n*A+o
A'=p*R+q*G+r*B+s*A+t
OK,我们用代码来示例,如何把图象的透明度调为原来的一半:
//颜色矩阵数据(4*5)
float[] array = new float[] {
1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 0.5f, 0 };
ColorMatrix colorMatrix = new ColorMatrix(array);
Paint paint = new Paint();
paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
g.drawBitmap(img, 0, 0, paint);
大功告成!其实利用颜色过滤可以实现很多效果,比如转灰度、高光、调整饱和度等等。另外,这个方法对效率有一定的影响,注意优化。
分享到:
相关推荐
在Android开发中,色彩是构建用户界面不可或缺的一部分。"Android颜色拾取Palette"是一个强大的工具,...无论你是希望为用户提供自定义颜色选择,还是想要基于图像内容自动调整界面风格,都可以充分利用Palette来实现。
1. **主题定制**:Media Picker支持自定义主题,允许开发者根据应用的UI风格调整选择器的颜色、样式等。 2. **过滤器**:可以通过设置过滤器来限制用户可选择的文件类型,例如只允许选择特定分辨率的图片或特定格式...
在实际开发中,Android-GpuImage不仅适用于拍照应用,还可以用于美颜相机、图片编辑应用、实时视频过滤等多种场景。由于其高效的处理方式,即使在低性能设备上也能保持良好的性能表现。 总的来说,Android-GpuImage...
在这个项目中,开发者可以学习到如何利用Java编程语言来实现各种图像滤镜,从而改变图片的颜色、亮度、对比度等属性,或者应用艺术风格的效果。 首先,我们要理解图像过滤器的基本概念。图像过滤器是一种对像素进行...
通过调整Paint对象的其他属性,如颜色过滤器、抗锯齿设置,还可以进一步丰富图像效果。 在提供的"multiplyimage"文件中,可能包含了一个示例项目或代码片段,用于演示上述的正片叠底处理透明色的过程。你可以通过...
此外,Paint还支持颜色过滤器,使我们能够对绘制的内容应用复杂的色彩效果。 Color类则负责颜色的创建和转换。颜色在Android中以一个整数表示,由alpha、red、green、blue四部分组成。Color类提供了一些静态方法,...
5. **图片的颜色**:除了普通的位图资源外,还可以使用颜色过滤器对图像进行颜色处理。 6. **Nine-patch(被拉伸或缩小的图像)**:这是一种特殊的图像格式,允许图像在保持比例的同时被拉伸或缩小,非常适合制作可...
利用`setTextAppearance()`方法或在布局文件中使用`textAppearance`属性,可以方便地调整文本的大小、颜色和风格。示例代码如下: ```java textView.setTextAppearance(context, android.R.style.TextAppearance_...
### Android主题设置详解 #### 一、概述 在Android应用开发过程中,...通过上述方法,开发者可以灵活地为Android应用定制不同风格的主题,从而提升用户体验。同时,合理利用主题和样式机制,也可以显著提高开发效率。
- `setColorFilter(ColorFilter cf)`:设置颜色过滤器。 - `setAlpha(int alpha)`:设置透明度。 - **获取信息**: - `getBounds()`:获取Drawable的边界。 - `getIntrinsicWidth()` 和 `getIntrinsicHeight()`...
这可能包括尺寸调整、颜色过滤、添加边框等功能。在这个项目中,你可以学习到如何处理用户的原始图像,并将其转化为适用于应用显示的头像格式。 2. 图片圆角剪裁:安卓提供了多种实现图片圆角的方法。一种是使用`...
提供阅读建议,指导读者如何有效地利用书中的资源进行学习,包括推荐的学习顺序和方法。 - **1.4 使用本书范例** 详细介绍如何正确地使用书中的示例代码,包括如何下载、安装必要的软件环境(如Android Studio)...
开发者需要对Android的图形系统有深入理解,包括颜色空间、图像过滤器、画布操作等,才能有效地实现连环画效果。 冰冻特效的实现可能涉及到图像的模糊处理,通过降低图像的饱和度和对比度,创造出一种静止、模糊的...
6. **颜色与样式**:通过Paint设置不同的颜色模式(如RGB、ARGB)、颜色过滤器,以及填充和描边样式。 7. **高级绘图效果**:可能包括抗锯齿、阴影、渐变、图像滤镜等高级绘图效果的实现。 8. **动画绘制**:如果...
在这个实例中,重点集中在“界面效果”和“图片效果”,意味着我们将学习如何利用图像处理技术来优化UI设计。 描述中提到的"实例71_界面效果_图片效果"简洁明了地概括了这个主题,暗示我们将探讨如何通过各种图片...
- **自定义ActionBar的风格:** 修改ActionBar的外观,如背景颜色、图标等。 - **ActionBar的覆盖层叠:** 学习如何处理多个Activity中的ActionBar层叠问题。 **3. 兼容不同的设备** - **适配不同的语言:** 支持多...
NetSupport 教师助理应用程序是传统桌面教师端应用程序的延伸,可在您现有的 NetSupport 管理的教室环境中使用,为教师提供了在 ICT 教学区周围更好的移动性,助教利用这一理想工具可以帮助监督学生进度。...
素材通常包含可编辑的图层结构,以便调整元素大小、颜色或替换图像。 6. **移动平台适配**:由于是“Grocery Shopping App Android”,设计应特别关注Android设备的兼容性。这包括遵循Material Design指南,保证在...
- **自定义设计**:通过修改 CSS 样式表和 HTML 结构,调整颜色、字体、布局等元素,以符合品牌风格。 - **功能测试**:确保所有功能在手机上正常工作,如搜索、过滤、购物车、支付等。 - **SEO 优化**:添加元...