path填充Demo(PathFillTypes)

转载 2015年11月19日 11:19:53
package com.example.xfermodesdemo;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.os.Bundle;
import android.view.View;

public class PathFillTypesActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(new SampleView(this));
	}

	private static class SampleView extends View {
		/** 抗锯齿画笔 */
		private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
		/** 绘制路径 */
		private Path mPath;

		public SampleView(Context context) {
			super(context);
			setFocusable(true);
			setFocusableInTouchMode(true);

			mPath = new Path();
			/**
			 * CW : clockwise 顺时针方向
			 * 
			 * CCW : counter-clockwise 逆时针方向
			 */
			mPath.addCircle(40, 40, 45, Path.Direction.CCW);
			mPath.addCircle(80, 80, 45, Path.Direction.CCW);
		}

		@Override
		protected void onDraw(Canvas canvas) {
			super.onDraw(canvas);

			Paint paint = mPaint;
			canvas.drawColor(0xFFCCCCCC);// 绘制背景颜色
			canvas.translate(20, 20);// 画板平移(20,20)
			paint.setAntiAlias(true);// 设置抗锯齿

			showPath(canvas, 0, 0, Path.FillType.WINDING, paint, 0);
			showPath(canvas, 160, 0, Path.FillType.EVEN_ODD, paint, 1);
			showPath(canvas, 0, 160, Path.FillType.INVERSE_WINDING, paint, 2);
			showPath(canvas, 160, 160, Path.FillType.INVERSE_EVEN_ODD, paint, 3);

		}

		private void showPath(Canvas canvas, int x, int y, Path.FillType ft,
				Paint paint, int count) {
			canvas.save();// 保存
			canvas.translate(x, y);// 平移
			canvas.clipRect(0, 0, 120, 120);// 裁剪矩形
			canvas.drawColor(Color.WHITE);// 在裁剪的矩形里面绘制背景
			mPath.setFillType(ft);
			mPaint.setColor(0xFF109093 + count * 20);
			canvas.drawPath(mPath, paint);
			canvas.restore();
		}
	}
}

仿Path侧滑导航栏demo

  • 2012年06月16日 00:37
  • 414KB
  • 下载

关于Paint,Canvas,Path的Demo

  • 2015年12月22日 09:55
  • 2.21MB
  • 下载

Path简介(针对路径的小demo,讲解一些常用的API)

path对应的常用方法、在路径上写文字的drawTextOnPath、绘制圆弧

2014Android Demo源码 文件夹 PATH 列表

360网盘地址:http://yunpan.cn/QTptFRNMIJpeQ访问密码 3814 文件夹 PATH 列表 卷序列号为 5F005353 000A:8F50 ...

AndroidNFC与sim卡测试demo报Asset path '/system/framework/org.simalliance.openmobileapi.jar' does not exis

在运行建立sim卡连接demo,在5.0以上的Android系统出现闪退,报出如下日志: 01-01 21:55:01.479: W/ResourcesManager(17675): getTopL...

Circular view path [login3]: would dispatch back to the current handler URL [/Spring_Demo/login3]

最近在学习使用springmvc,遇到了不少的坑,刚刚就遇到了一个,遂记录之 这是一段非常简单的代码,通过lhttp://localhost:8080/Spring_Demo/login3来访问,由...

Android ApiDemos示例解析(70):Graphics->PathFillTypes

对于简单的封闭图形(路径无相交的现象),图形的外部和内部和容易判断,但如果路径有相交的情况,对应重叠的部分,使用不同的填充模式,内部和外部的定义有所不同。填充模式可以分为两类: EVEN_ODD...

Android Api Demos登顶之路(八十)Graphics-->PathFillTypes

/* * 这个demon演示了对路径形成的图形的填充模式,因为我们只对图形的内部进行填充,所以需要首先判断 * 图形的内部和外部。 * 在图形学中判断一个点是否在多边形内,若多边形不是自相交的,...

USAGE: facerec_demo.py </path/to/images> [</path/to/store/images/at>] 问题解决

USAGE: facerec_demo.py [] 问题解决
  • wyx100
  • wyx100
  • 2017年06月11日 11:51
  • 701
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:path填充Demo(PathFillTypes)
举报原因:
原因补充:

(最多只允许输入30个字)