2011.10.11(2)——— android Clipping关于剪切
参考:
http://wenku.baidu.com/view/67e1eed026fff705cc170ac1.html
代码如下:
package com.lp.clip;
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 Clipping extends Activity {
@Override
protected 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();
}
private void drawScene(Canvas canvas) {
canvas.clipRect(0, 0, 100, 100);
canvas.drawColor(Color.WHITE);
mPaint.setColor(Color.RED);
canvas.drawLine(0, 0, 100, 100, mPaint);
mPaint.setColor(Color.GREEN);
canvas.drawCircle(30, 70, 30, mPaint);
mPaint.setColor(Color.BLUE);
canvas.drawText("Clipping", 100, 30, mPaint);
}
@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.GRAY);
canvas.save();
canvas.translate(10, 10);
drawScene(canvas);
canvas.restore();
canvas.save();
canvas.translate(160, 10);
canvas.clipRect(10, 10, 90, 90);
canvas.clipRect(30, 30, 70, 70, Region.Op.DIFFERENCE);
drawScene(canvas);
canvas.restore();
canvas.save();
canvas.translate(10, 160);
mPath.reset();
canvas.clipPath(mPath); // makes the clip empty
mPath.addCircle(50, 50, 50, Path.Direction.CCW);
canvas.clipPath(mPath, Region.Op.REPLACE);
drawScene(canvas);
canvas.restore();
canvas.save();
canvas.translate(160, 160);
canvas.clipRect(0, 0, 60, 60);
canvas.clipRect(40, 40, 100, 100, Region.Op.UNION);
drawScene(canvas);
canvas.restore();
canvas.save();
canvas.translate(10, 310);
canvas.clipRect(0, 0, 60, 60);
canvas.clipRect(40, 40, 100, 100, Region.Op.XOR);
drawScene(canvas);
canvas.restore();
canvas.save();
canvas.translate(160, 310);
canvas.clipRect(0, 0, 60, 60);
canvas.clipRect(40, 40, 100, 100, Region.Op.REVERSE_DIFFERENCE);
drawScene(canvas);
canvas.restore();
}
}
}
解释如下:
canvas.translate(160, 310);
表示 移动原点坐标
所以 可以看出来 每次绘图都是有两次的剪切方法的
运行结果 如下:
- 大小: 9.6 KB
- 大小: 47.1 KB
- 大小: 27.3 KB
分享到:
相关推荐
Android剪裁效果Clipping
CHAPTER 1 INTRODUCTION TO DIGITAL COMMUNICATIONS ............................2 CHAPTER 2 SYSTEM ARCHITECTURE .................................................................................17 RANDOM ...
ofdm using clipping method
Initialization....................................................................17 Section 2: Enter Game Loop............................................................17 Section 3: Retrieve ...
Clipping Planes ..................................................................................................... 103 Profile Designer ................................................................
What Photoshop is designed to do....................................................10 New features to help you do those jobs............................................10 Other things you can do with...
clipping.h
资源分类:Python库 所属语言:Python 资源全名:clipping-1.4.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
three.js开源裁剪剖切实例clipping-with-caps-master,t
Chapter 2 Rendering and Animation Techniques for 3D Polygons ......39 Vertex Animation and 3D Morphing ................................39 Sample Program: morph3d....................................40 ...
Android API Demo中的Clipping例子(带注释)
(a) Image resizing into sizes 2X, 5X, 10X, 0.1X, 0.25X. (b) Image rotation with and without clipping in angles 100, 600, 900, 1100, 1500 (c) Image flipping in x and y axis. (d) Image zooming.
降低OFDM中PAPR的方法clipping的MATLAB源码
Clipping and Masking Chapter 11. Filters Chapter 12. Animating SVG Chapter 13. Adding Interactivity Chapter 14. Using the SVG DOM Chapter 15. Generating SVG Appendix A. The XML You Need for SVG ...
Clipping截短法PPT课件.pptx
Clipping截短法学习教案.pptx
FINDING PITCH PERIOD USING CENTER CLIPPING
android非常好用的图片裁剪功能,在选择头像裁剪很实用,代码中只需2个Activity即可完成