240 发简信
IP属地:四川
  • 这样会不会更好一点。Matrix不去转换Rect,而是转换点击的点。点击的点和旋转后Rect真实区域是一个相对位置,因为Rect.contains不会旋转改变,所以只用把点击的点反着旋转相同即可,保持相对位置不变。
    private boolean isInRectangle(float pointX, float pointY) {
    float[] floats = new float[]{pointX, pointY};
    Matrix matrix = new Matrix();
    matrix.setRotate(-(float) mRotation, mRect.centerX(), mRect.centerY());
    matrix.mapPoints(floats);
    return mRect.contains(floats[0], floats[1]);
    }

    Android 自定义view中如何判断一个点是否在 经过旋转的 RectF 内?

    最近在做相册的图片编辑功能,遇到一个bug,插入文字后旋转文字区域,点击文字区域无法触发,分析原因是判断时认定为点没在RectF内。如图: 如果只是通过rect.contai...