android 如何截取一个扇形的区域

项目需要我要截取一张图片的扇形区域,这个扇形也有可能是圆形,需要写在onDraw(Canvas canvas)函数里,因为这个扇形会随着拖动变化的,如何实现啊,请教大侠

下面的代码不知道合不合你的意…
可以在 Canvas 中剪出一个扇形。
[code="java"]
public void getSector(Canvas canvas, float radius, double fromDegree, double toDegree, Op op) {
canvas.translate(radius, radius);
Path pathCircle = new Path();
pathCircle.addCircle(0, 0, radius, Direction.CCW);
Path pathTriangle = new Path();
pathTriangle.moveTo(0, 0);
float vYFrom = (float) (Math.sin(fromDegree * Math.PI / 180) * 2 * radius);
float vYTo = (float) (Math.sin(toDegree * Math.PI / 180) * 2 * radius);
float vYCenter = (float) (Math.sin(((toDegree + fromDegree) / 2) * Math.PI / 180) * 2 * radius);
float vXFrom = (float) (Math.cos(fromDegree * Math.PI / 180) * 2 * radius);
float vXTo = (float) (Math.cos(toDegree * Math.PI / 180) * 2 * radius);
float vXCenter = (float) (Math.sin(((toDegree + fromDegree) / 2) * Math.PI / 180) * 2 * radius);
pathTriangle.lineTo(vXFrom, vYFrom);
pathTriangle.lineTo(vXCenter, vYCenter);
pathTriangle.lineTo(vXTo, vYTo);
pathTriangle.close();
canvas.clipPath(pathCircle);
canvas.clipPath(pathTriangle, op);
}
[/code]

具体的代码实现不能提供给你,但是可以参考设置壁纸时截取sd卡中的图片的时候的方式

楼上正确~~~