Android基础-canvas paint

来源:互联网 发布:电影票用什么软件 编辑:程序博客网 时间:2024/06/06 05:02
RectF rectf_head=new RectF(10, 10, 100, 100);//左上右下,例:左=10,则最左边距离 canvas的最左边10像素rectf_head.offset(200, 100);//左偏移,下偏移;即:左右两边的 10和100 同时加上 200;(此正方形平移)canvas.drawRect(rectf_head,paint);
   //完整代码如下:
public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        FrameLayout ll = (FrameLayout)findViewById(R.id.frameLayout1);        ll.addView(new MyView(this));    }    public class MyView extends View{        public MyView(Context context){            super(context);        }        @Override        protected void onDraw(Canvas canvas) {            Paint paint=new Paint();   //采用默认设置创建一个画笔            paint.setAntiAlias(true);  //使用抗锯齿功能            paint.setColor(0xFFA4C739);    //设置画笔的颜色为绿色            //绘制机器人的头            //RectF(float left,float top,float right,float bottom            RectF rectf_head=new RectF(10, 10, 100, 100);//左上右下,例:左=10,则最左边距离 canvas的最左边10像素            rectf_head.offset(100, 20);//左偏移,下偏移;即:左右两边的 10和100 同时加上 200;(此正方形平移)            //canvas.drawRect(rectf_head,paint);            canvas.drawArc(rectf_head, -10, -160, false, paint);   //绘制弧            //绘制眼睛            paint.setColor(Color.WHITE);   //设置画笔的颜色为白色            canvas.drawCircle(135, 53, 4, paint);  //绘制圆            canvas.drawCircle(175, 53, 4, paint);  //绘制圆            paint.setColor(0xFFA4C739);    //设置画笔的颜色为绿色            //绘制天线            paint.setStrokeWidth(2);   //设置笔触的宽度            canvas.drawLine(120, 15, 135, 35, paint);  //绘制线            canvas.drawLine(190, 15, 175, 35, paint);  //绘制线            //绘制身体            canvas.drawRect(110, 75, 200, 150, paint); //绘制矩形            RectF rectf_body=new RectF(110,140,200,160);            canvas.drawRoundRect(rectf_body, 10, 10, paint);   //绘制圆角矩形            //绘制胳膊            RectF rectf_arm=new RectF(85,75,105,140);            canvas.drawRoundRect(rectf_arm, 10, 10, paint);    //绘制左侧的胳膊            rectf_arm.offset(120, 0);  //设置在X轴上偏移120像素            canvas.drawRoundRect(rectf_arm, 10, 10, paint);    //绘制右侧的胳膊            //绘制腿            RectF rectf_leg=new RectF(125,150,145,200);            canvas.drawRoundRect(rectf_leg, 10, 10, paint);    //绘制左侧的腿            rectf_leg.offset(40, 0);   //设置在X轴上偏移40像素            canvas.drawRoundRect(rectf_leg, 10, 10, paint);    //绘制右侧的腿        super.onDraw(canvas);        }    }}
//转载至:http://jingyan.baidu.com/article/93f9803f0bc395e0e46f5514.html
0 0
原创粉丝点击