Android-如何将画布上的路径居中,以给定的X和Y坐标为中心显示屏幕

Android-如何将画布上的路径居中,以给定的X和Y坐标为中心显示屏幕,android,canvas,android-canvas,Android,Canvas,Android Canvas,我有以下代码来绘制画布的路径: if (mPointArray.size() > 1) { mPath.moveTo(mPointArray.get(0).x * scaleX, mPointArray.get(0).y * scaleY); for (int x = 1; x < mPointArray.size(); x++) { mPath.lineTo(mPointArray.get(x).x * scaleX, mPointArray.get

我有以下代码来绘制画布的路径:

if (mPointArray.size() > 1) {
    mPath.moveTo(mPointArray.get(0).x * scaleX, mPointArray.get(0).y * scaleY);
    for (int x = 1; x < mPointArray.size(); x++) {
        mPath.lineTo(mPointArray.get(x).x * scaleX, mPointArray.get(x).y * scaleY);
    }
    canvas.drawPath(mPath, mPaint);    
    canvas.drawPoint(mPointArray.get(mPointArray.size() - 1).x * scaleX, mPointArray.get(mPointArray.size() - 1).y * scaleY, pointPaint);
}
假设我有一个任意的X和Y坐标作为指定的中心,我如何将该X和Y坐标应用到屏幕的中心?我问这个问题的原因是因为我正在开发一个应用程序,你站在一个传感器上,你站在一个特定的位置上,我希望我的路径在绘制路径之前以初始点为中心。我有两个浮点值,centerX和centerY,我希望以某种方式应用于我的路径。不幸的是,如果我在乘以scaleX和scaleY之前应用它们,则转换太大,而如果我在之后应用它们,则转换太小

以下是scaleX的声明:

scaleX=屏幕宽度/传感器宽度*1.1f-屏幕宽度/传感器宽度*0.1f

scaleY的定义与Screen H和sensorLength相似


在新中心位于屏幕中心的情况下,我如何应用传感器的新中心坐标?

不确定我是否了解您的问题,但这个公式看起来有问题:

scaleX=屏幕宽度/传感器宽度*1.1f-屏幕宽度/传感器宽度*0.1f

更简单的版本是:

scaleX=屏幕宽度/传感器宽度

我终于明白了: mPath.offsetcenterX-传感器宽度/2*-刻度,centerY-传感器长度/2*-刻度