1

我在这个问题上使用了我的 Google-fu 无济于事。Camera我的问题:我有一个 Android 应用程序,它使用下面的类在预览顶部覆盖一个椭圆EllipseView

public class EllipseView extends View {

    private Paint paint = new Paint();

    public EllipseView(Context context) {
        super(context);
        paint.setAntiAlias(true);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeWidth(5.0f);
        paint.setColor(Color.GREEN);
        paint.setAlpha(0x60);
    }

    @Override
    public void onDraw(Canvas canvas) {
        Point canvasCenter = new Point(canvas.getWidth() / 2, canvas.getHeight() / 2);
        RectF oval = new RectF(canvasCenter.x - 100, canvasCenter.y - 75, canvasCenter.x + 100, canvasCenter.y + 75);

        canvas.drawOval(oval, paint);
        canvas.drawCircle(canvasCenter.x, canvasCenter.y, 5, paint);
    }

}

oval是否可以在捕获的图片中找到相同的坐标?或者,我是否必须手动确定转换?

4

1 回答 1

0
  • 获取预览表面的宽度和高度
  • 获取所取位图的宽高
  • 一个一个除以得到宽度转换和高度转换的比率
  • 在预览表面中找到椭圆的位置
  • 使用比率来计算它在位图上的位置
  • 施展你的魔法...

    更详细的帮助在这里

于 2013-12-10T11:04:32.957 回答