在Arc中心绘制位图?

时间:2012-09-05 00:29:23

标签: android android-canvas

在我的自定义视图中,我绘制了多个填充的Arc,如下所示:

canvas.drawArc(oval, startAngle, sweepAngle, true, sectorPaint);

现在,我想在Arc的中心绘制一个图标。我从这开始:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_icon);
canvas.drawBitmap(bitmap, pointX, pointY, null); //pointX & pointY ??

但是,我不知道应该为pointXpointY设置什么。这是我的数据:

  • 椭圆形中心坐标和半径。
  • startAngle和sweepAngle(因此,可以派生endAngle)

有没有办法知道提供这些输入的值pointXpointY


编辑:插图草图:

enter image description here

2 个答案:

答案 0 :(得分:3)

经过一些调整后,

This answer给了我很多帮助:

double radius = width/2;
double x = radius + (radius)*Math.cos(-angle);
double y = radius + (radius)*Math.sin(-angle);

答案 1 :(得分:0)

使用您的vars。

试试这个:

double x = C.x + r * Math.cos(theta * Math.PI / 180);
double y = C.y + r * Math.sin(theta * Math.PI / 180);

theta的结束角度为arc - start angle of arc