我在画布上画了一条路径。单击一下,我想调整路径的大小。假设我想让它成为原始大小的两倍。
我试过path.transform但它会将路径转移到画布中的不同位置。这是我使用的代码
Matrix translateMatrix = new Matrix();
translateMatrix.setTranslate(100,0);
p.transform(translateMatrix);
如何在android中调整路径的大小?
我在画布上画了一条路径。单击一下,我想调整路径的大小。假设我想让它成为原始大小的两倍。
我试过path.transform但它会将路径转移到画布中的不同位置。这是我使用的代码
Matrix translateMatrix = new Matrix();
translateMatrix.setTranslate(100,0);
p.transform(translateMatrix);
如何在android中调整路径的大小?
我已经尝试过 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);
自己没有做过,但你可能应该使用
Matrix scaleMatrix = new Matrix();
scaleMatrix.setScale(sx,sy, px, py);
p.transform(scaleMatrix);
sx,sy
你的情况应该在哪里2,2
,如果你想要双倍尺寸并且px,py
可能应该0.5,0.5
在你的情况下
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;