尝试将路径缩放到更大的rect

时间:2018-06-07 11:42:55

标签: android

我正在尝试将使用外部蓝牙设备绘制的路径缩放到我的Android设备屏幕的大小...因此,如果有人在设备的顶部绘制,那么就说,一个圆圈,设备上会显示一个巨大的圆圈,但如果有人然后在设备的底部绘制,则刻度将使得两个圆圈都显示在屏幕的顶部和底部。我有两次尝试。两者都不起作用......

这是一个

   public Path fit()
        {
            RectF selfBounds = new RectF();
            mPath.computeBounds(selfBounds, false);

            int width = Resources.getSystem().getDisplayMetrics().widthPixels;
            int height = Resources.getSystem().getDisplayMetrics().heightPixels;


            RectF intoBounds = new RectF(0, 0, width,height);
            float sw =  intoBounds.width()/ selfBounds.height();
            float sh =  intoBounds.height() / selfBounds.width();

            float factor = (float) Math.min( 5.0, Math.min(sw, Math.max(sh, 0.0 ) ) ) ;


            Matrix x = new Matrix();

            x.setScale(factor, factor);

            mPath.transform(x);
            return mPath;

        }

这是两个

 scaleMatrix.setRectToRect(pathBounds, screenBounds, Matrix.ScaleToFit.CENTER);
 newPath.transform(scaleMatrix);

非常感谢帮助!

0 个答案:

没有答案