您的位置:首页 > 移动开发 > Android开发

android canvas.clipRect的Region.Op.XOR使用

2013-12-04 12:12 489 查看
Region.Op有以下操作,类似于集合:

//DIFFERENCE是第一次不同于第二次的部分显示出来

//REPLACE是显示第二次的

//REVERSE_DIFFERENCE 是第二次不同于第一次的部分显示

//INTERSECT交集显示

//UNION全部显示

//XOR补集 就是全集的减去交集生育部分显示

用一个例子来测试如下:

package com.example.androidtest2;

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.graphics.Region;

import android.os.Bundle;

import android.view.View;

public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(new SampleView(this));

}

private static class SampleView extends View {

private Paint mPaint;

private Path mPath;

public SampleView(Context context) {

super(context);

setFocusable(true);

mPaint = new Paint();

mPaint.setAntiAlias(true);

mPaint.setStrokeWidth(6);

mPaint.setTextSize(16);

mPaint.setTextAlign(Paint.Align.RIGHT);

mPath = new Path();

}

@Override

protected void onDraw(Canvas canvas) {

canvas.drawColor(Color.GRAY);

canvas.save();

canvas.translate(10, 10);

canvas.clipRect(0, 0, 100, 100);

canvas.clipRect(50, 50, 150, 150, Region.Op.XOR); //修改成对应的操作,就可以知道其作用了

canvas.drawColor(Color.WHITE);

canvas.restore();

}

}

}

源代码下载
http://yunpan.cn/QUXrTm9MYpzIG
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: