具体的看一下博文:Android学习笔记进阶15之Shader渲染

  1. package xiaosi.BitmapShader;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. public class BitmapShaderActivity extends Activity {
  5. /** Called when the activity is first created. */
  6. private BitmapShaders bitmapShaders = null;
  7. @Override
  8. public void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. bitmapShaders = new BitmapShaders(this);
  11. setContentView(bitmapShaders);
  12. }
  13. }

BitmapShaders.Java

    1. package xiaosi.BitmapShader;
    2. import android.content.Context;
    3. import android.graphics.Bitmap;
    4. import android.graphics.BitmapShader;
    5. import android.graphics.Canvas;
    6. import android.graphics.Color;
    7. import android.graphics.ComposeShader;
    8. import android.graphics.LinearGradient;
    9. import android.graphics.Paint;
    10. import android.graphics.PorterDuff;
    11. import android.graphics.RadialGradient;
    12. import android.graphics.Shader;
    13. import android.graphics.SweepGradient;
    14. import android.graphics.drawable.BitmapDrawable;
    15. import android.graphics.drawable.ShapeDrawable;
    16. import android.graphics.drawable.shapes.OvalShape;
    17. import android.view.View;
    18. public class BitmapShaders extends View
    19. {
    20. private LinearGradient linearGradient = null;
    21. private ComposeShader composeShader = null;
    22. private SweepGradient sweepGradient = null;
    23. private RadialGradient radialGradient = null;
    24. private BitmapShader bitmapShader = null;
    25. private Bitmap bitmap = null;
    26. private Paint paint = null;
    27. private ShapeDrawable shapeDrawable = null;
    28. private int BitmapWidth = 0;
    29. private int BitmapHeight = 0;
    30. public BitmapShaders(Context context)
    31. {
    32. super(context);
    33. // 得到图像
    34. bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.v))
    35. .getBitmap();
    36. BitmapWidth = bitmap.getWidth();
    37. BitmapHeight = bitmap.getHeight();
    38. // 构造渲染器LinearGradient
    39. linearGradient = new LinearGradient(0, 0, 100, 100, new int[] {
    40. Color.RED, Color.GREEN, Color.BLUE, Color.WHITE }, null,
    41. Shader.TileMode.REPEAT);
    42. paint = new Paint();
    43. }
    44. @Override
    45. protected void onDraw(Canvas canvas)
    46. {
    47. super.onDraw(canvas);
    48. paint.setShader(linearGradient);
    49. canvas.drawRect(20, 50, 320, 156, paint);
    50. }
    51. }

Android学习笔记进阶17之LinearGradient的更多相关文章

  1. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  2. Android学习笔记进阶16之BitmapShader

    <1>简介 具体的看一下博文:Android学习笔记进阶15之Shader渲染 public   BitmapShader(Bitmap bitmap,Shader.TileMode ti ...

  3. Android学习笔记进阶18 之画图并保存图片到本地

    1.首先创建一个Bitmap图片,并指定大小:   2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可:   3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...

  4. Android学习笔记进阶18之画图并保存图片到本地

    1.首先创建一个Bitmap图片,并指定大小:   2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可:   3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...

  5. Android学习笔记进阶15之Shader渲染

    Android提供的Shader类主要是渲染图像以及一些几何图形. Shader有几个直接子类: BitmapShader    : 主要用来渲染图像 LinearGradient  :用来进行线性渲 ...

  6. Android 学习笔记进阶十二之裁截图片

    package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; ...

  7. Android 学习笔记进阶14之像素操作

    在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果.要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作. 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法. ...

  8. Android学习笔记进阶19 之给图片加边框

    //设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...

  9. Android学习笔记进阶20 之得到图片的缩略图

    <1>简介 之前往往是通过Bitmap.Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图. 现在我给大家介绍一种比较简单的方法:(网上有) 在A ...

随机推荐

  1. Unity 获得视频的某一帧,生成缩略图

    Unity 并无直接获取视频某一帧图像的API,所以想要生成缩略图就要自己写方法了, 图片和视频都可以用这种方式生成缩略图,另,转载请标明出处,谢谢. using System.Collections ...

  2. MyBatis学习总结(10)——批量操作

    一.mybatis中的批量操作    批量操作核心就是一次传入多个数据然后进行相关操作,增删改查中掌握其中一个其他的也不成问题 1.最新在做的短信平台,要批量插入群发的短信记录: 当然批量操作还有:批 ...

  3. ArcGIS api for javascript——图形-使用多个图形图层

    描述 本例展示了如何增加多个图形图层到地图.一个图形图层显示国家,另一个显示城市.在一个地图中有多个图形图层的能力是在ArcGIS JavaScript API v1.4增加的. 从蓝色的城市点分隔灰 ...

  4. hadoop(八) - sqoop安装与使用

    一. sqoop安装: 安装在一台节点上就能够了. 1. 使用winscp上传sqoop 2. 安装和配置 加入sqoop到环境变量 将数据库连接驱动mysql-connector-5.1.8.jar ...

  5. 烦人的Facebook分享授权

    开发端授权app权限 facebook要求提交应用到他们平台, 并且还限制100mb, 坑爹死了, 果断使用google drive分享给他们, 最開始不确定分享给他们什么样的程序包, 结果审核没通过 ...

  6. 2.CString转换到char*

    多字节模式下: CString -->char * CString str1 ="; char *t1 =str1.GetBuffer(str1.GetLength()); str1. ...

  7. 解决The requested resource is not available的办法

    1.问题描述: eclipse中使用tomcat来运行HelloWorld时出现The requested resource is not available. 在报错中有一行Setting prop ...

  8. 利用Eventlog Analyzer分析日志

    利用EventlogAnalyzer分析日志 ManageEngineEventLogAnalyzer是一个基于Web技术.实时的事件监控管理解决方案,能够提高企业网络安全.减少工作站和服务器的宕机事 ...

  9. Android自定义控件简单实现ratingbar效果

    先上图: 一开始让我自定义控件我是拒绝的,因为android很早以前就有一个控件ratingbar,但是设置样式的时候我发现把图片设置小一点就显示不全,一直找不到解办法!(可以设置系统的自带的小样式) ...

  10. Sub Thread to update main Thread (UI)

    Sub Thread to update main Thread (UI) main Thread :   A  has Hander.HandleMessage() to process the & ...