9

我在画布上画了一条路径。单击一下,我想调整路径的大小。假设我想让它成为原始大小的两倍。

我试过path.transform但它会将路径转移到画布中的不同位置。这是我使用的代码

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

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

4

3 回答 3

23

我已经尝试过 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); 
于 2013-09-14T22:25:12.827 回答
5

自己没有做过,但你可能应该使用

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

sx,sy你的情况应该在哪里2,2,如果你想要双倍尺寸并且px,py可能应该0.5,0.5在你的情况下

于 2013-09-05T13:38:39.033 回答
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 是您想要缩放路径的程度, FOR SCALE LARGE scale_pathSX 和 scalepathSy = 1.001; 对于小规模 scale_pathSX 和 scalepathSy = 0.999;

于 2020-08-13T07:55:24.207 回答