在Android游戏开发中我们不免要涉及到一些图形特效处理,今天主要看下Android平台下实现渐变效果。在android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果android123使用一个简单的例子来说明。
一、LinearGradient线性渐变
在android平台中提供了两种重载方式来实例化该类分别为,他们的不同之处为参数中第一种方法可以用颜色数组,和位置来实现更细腻的过渡效果,比如颜色采样int[] colors数组中存放20种颜色,则渐变将会逐一处理。而第二种方法参数仅为起初颜色color0和最终颜色color1。
LinearGradient(float x0, float y0, float x1, float y1, int[] colors, float[] positions, Shader.TileMode tile)
LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile)
使用实例如下
Paint p=new Paint();
LinearGradient lg=new LinearGradient(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR); //参数一为渐变起初点坐标x位置,参数二为y轴位置,参数三和四分辨对应渐变终点,最后参数为平铺方式,这里设置为镜像
刚才Android开发网已经讲到Gradient是基于Shader类,所以我们通过Paint的setShader方法来设置这个渐变,代码如下:
p.setShader(lg);
canvas.drawCicle(0,0,200,p); //参数3为画圆的半径,类型为float型。
二、 RadialGradient镜像渐变
有了上面的基础,我们一起来了解下径向渐变。和上面参数唯一不同的是,径向渐变第三个参数是半径,其他的和线性渐变相同。
RadialGradient(float x, float y, float radius, int[] colors, float[] positions, Shader.TileMode tile)
RadialGradient(float x, float y, float radius, int color0, int color1, Shader.TileMode tile)
三、 SweepGradient角度渐变
对于一些3D立体效果的渐变可以尝试用角度渐变来完成一个圆锥形,相对来说比上面更简单,前两个参数为中心点,然后通过载入的颜色来平均的渐变渲染。
SweepGradient(float cx, float cy, int[] colors, float[] positions) //对于最后一个参数SDK上的描述为May be NULL. The relative position of each corresponding color in the colors array, beginning with 0 and ending with 1.0. If the values are not monotonic, the drawing may produce unexpected results. If positions is NULL, then the colors are automatically spaced evenly.,所以Android123建议使用下面的重载方法,本方法一般为NULL即可。
SweepGradient(float cx, float cy, int color0, int color1)
分享到:
相关推荐
Android123做的一个关于Android游戏开发的教程 1.Android游戏开发之旅一 长按Button原理 2.Android游戏开发之旅二 View和SurfaceView 3.Android游戏开发之旅三 View类详解 ...17.Android游戏开发之旅17 图像渐变特效
开发者需要通过Canvas对象调用drawXXX()方法来绘制各种形状和路径,例如圆形、线条、渐变等,这些都可能是烟花特效的基础元素。 2. **Paint对象**:在Android绘图中,Paint对象用于设置颜色、风格、阴影、文本样式...
在Android游戏开发中,切换场景特效的实现是一个关键的环节,它不仅关乎用户体验,也直接影响到游戏的整体流畅度和视觉效果。本篇文章将深入探讨如何在Android平台上实现游戏场景之间的平滑过渡,以及如何添加各种...
在Android开发中,特效是提升用户体验的关键因素之一。"GaussPager"是一种实现高斯模糊渐变滑动效果的技术,这种效果通常用于页面过渡或视图切换时,为用户提供更流畅且富有层次感的视觉体验。高斯模糊是图像处理中...
本文将深入探讨“Android图像处理之画笔特效处理”这一主题,通过一个具体的demo来展示如何在Android应用程序中实现各种有趣的画笔特效。 首先,Android的Canvas类是图像绘制的核心,它提供了丰富的绘图方法,如...
- **图像渐变特效**:通过绘制技巧实现视觉上的渐变效果。 - **SoundPool类**:管理音频资源,用于播放简短的声音效果。 - **分辨率大全**:了解不同设备的分辨率信息,确保游戏适配多种屏幕尺寸。 - **双按事件捕获...
8. **Bitmap和Shader**:Bitmap是Android中处理图像的基本单元,而Shader可以用于对Bitmap进行复杂的渲染,如渐变、马赛克等效果,从而实现独特的视觉特效。 9. **异步加载和动画**:在处理大量数据或图像时,异步...
在Android开发中,SVG(Scalable Vector Graphics)是一种用于绘制矢量图形的XML格式,它支持复杂的形状、渐变、透明度等特性,并且在放大或缩小时不会失去清晰度。由于SVG图像的这些优势,它在移动应用中特别受欢迎...
综上所述,这个源码可能包含了以上提到的一种或多种技术,通过分析和学习这些源码,开发者可以深入理解Android图像处理的原理,提升自己的技能,并应用于自己的项目中,创造出更多创新和有趣的视觉效果。
在Android游戏开发中,场景切换特效是提升用户体验和游戏沉浸感的重要组成部分。它不仅能够平滑地引导玩家从一个游戏场景过渡到另一个,还可以增强视觉吸引力,使游戏更具吸引力。本篇文章将深入探讨如何在Android...
**十七、图像渐变特效** - 图像处理技巧。 **十八、SoundPool类** - 管理音频资源。 **十九、分辨率大全** - 不同设备分辨率适配。 **二十、双按事件捕获** - 双击事件处理。 以上内容涵盖了从基础到进阶的...
在Android应用开发中,图片特效处理是提升用户体验和界面美观度的重要一环。...开发者可以通过研究源码,掌握Android图像处理的精髓,并将其应用到自己的项目中,提高应用的视觉效果和用户满意度。
这个名为"android_picture.zip"的压缩包可能包含了各种Android图像处理的示例代码,帮助开发者实现不同的图像特效。以下是一些Android图像处理的关键知识点: 1. **Bitmap类**:在Android中,Bitmap是用于表示图像...
在Android开发中,图像处理和特效的实现是一个重要的部分,特别是在创建吸引用户的UI或游戏时。这个"Android图像连环画特效源码"提供了一种将普通图片转换为具有连环画风格效果的方法,这对于创建独特的用户体验或者...
在Android开发中,创建独特的视觉效果是提升用户体验的关键部分。本教程将深入探讨如何实现光点模糊渐变的自旋转圆环特效以及水滴波纹特效。这两种特效都是UI设计中的亮点,能够增加应用程序的吸引力和互动性。 ...
在Android平台上,色彩特效处理是开发移动应用时一个不可或缺的部分,尤其在图像编辑、相机滤镜或者用户界面设计中。Android提供了丰富的API和技术,让开发者能够实现各种复杂的色彩变换和特效。本文将深入探讨...
总结来说,Android UI设计中的特效包括但不限于背景色渐变、标题栏进度条和界面边框圆角,这些都可以通过XML资源文件和Java代码结合实现。此外,Android还提供了丰富的图形处理工具和API,允许开发者创建出更复杂的...
在Android开发中,给图片添加特效是一项常见的任务,可以极大地提升用户体验和应用的视觉吸引力。本文将深入探讨如何在Android平台上实现图片特效,包括但不限于滤镜、模糊、旋转、缩放等多种效果。我们将主要围绕...