android中可以使用多种shader对图像进行渲染,常见有下:

BitmapShader位图

LinearGradient线性

RadialGradient光束

SweepGradient梯度

ComposeShader混合

基本步骤是:

1.首先创建好要设置的渲染对象shader

2.接着使用paint对象的setShader方法传入该shader对象(然后刷新页面,触发onDraw方法则可使用新的渲染对象画图了!!)

实例关键代码:

bm = BitmapFactory.decodeResource(getResources(), R.drawable.girl);
paint = new Paint();

colors = new int[]{Color.RED,Color.GREEN,Color.BLUE};

bitmapShader = new BitmapShader(bm, TileMode.REPEAT, TileMode.MIRROR);

——横向使用重复模式,纵向使用镜像模式绘制bm位图至整个屏幕

linearGradient = new LinearGradient(0, 0, 100, 100, colors, null, TileMode.REPEAT);

——从(0,0)至(100,100)的位置设置color数组中颜色的线性渐变,其他剩余空间为此空间的重复模式。

radialGradient = new RadialGradient(100, 100, 80, colors, null, TileMode.REPEAT);

——以(100,100)为圆心,80为半径,以color数组中颜色绘制重复模式的光束渲染

sweepGradient = new SweepGradient(100, 100, colors, null);

——以(100,100)的位置为中心,以color数组中颜色绘制梯度渲染
composeShader = new ComposeShader(linearGradient, radialGradient,PorterDuff.Mode.DARKEN);

——混合以上多种渲染而成

paint.setShader(composeShader);

postInvalidate();

  • android中渐变效果
  • 大小: 47.7 KB
  • android中渐变效果
  • 大小: 10.1 KB
  • android中渐变效果
  • 大小: 57.7 KB
  • android中渐变效果
  • 大小: 17.1 KB
android中渐变效果

更多相关文章

  1. Android 定时器实现图片的变换
  2. Android 动画效果 --Animation
  3. android studio 小技巧之 图片预览
  4. android获取网络图片的用法 BitmapFactory.decodeByteArray
  5. 六种最具视觉效果的Android(安卓)手机浏览器
  6. Android小項目之---ListView实现论坛管理效果(附源碼)
  7. 【移动开发】Android波纹动画效果实现

随机推荐

  1. Android(安卓)Studio 安装完成不能打开的
  2. Android(安卓)Uri获取真实路径以及文件名
  3. Android(安卓)Linux Kernel 移植流程
  4. Android监听网络状态
  5. Android之——iptables常用命令
  6. Android(安卓)Emulator的proxy设置
  7. TextUtils
  8. [置顶] S5PV210 Android(安卓)LED灯驱动
  9. AppWidget完美恢复后台程序方法
  10. Android(安卓)Lint工具学习