在Android画布中调整路径大小

时间:2013-09-05 13:34:17

标签: java android android-canvas

我在画布上绘制了一条路径。在单击时我想调整路径的大小。假设我想让它的原始尺寸增加一倍。

我尝试了path.transform,但它将路径转移到了游说中的其他位置。这是我用于

的代码
Matrix translateMatrix = new Matrix();
translateMatrix.setTranslate(100,0);
p.transform(translateMatrix); 

如何在android中调整路径大小?

3 个答案:

答案 0 :(得分:19)

我尝试过smitalm提供的解决方案。这条路仍然在改变它的位置。我试过这种方式,它对我有用。

Matrix scaleMatrix = new Matrix();
RectF rectF = new RectF();
path.computeBounds(rectF, true);
scaleMatrix.setScale(1.25f, 1.25f,rectF.centerX(),rectF.centerY());
path.transform(scaleMatrix); 

答案 1 :(得分:5)

我自己没有这样做,但你应该使用

Matrix scaleMatrix = new Matrix();
scaleMatrix.setScale(sx,sy, px, py);
p.transform(scaleMatrix); 

如果你想要双倍大小,sx,sy应该是2,2 在您的情况下,px,py应该是0.5,0.5

答案 2 :(得分:0)

RectF bounds = new RectF();
path.computeBounds(bounds, true);
Matrix scaleMatrix = new Matrix();
scaleMatrix.setScale(scale_pathSX, scale_pathSY,
    bounds.centerX(),bounds.centerY());
path.transform(scaleMatrix);

Bound.centerx和center Y可以帮助您将路径缩放到其中心位置,scale_pathSX和scale_pathSY是您要缩放路径的大小, 大型 scale_pathSX和scalepathSy = 1.001;比例尺小scale_pathSX和scalepathSy = 0.999;