在每个方向上缩放RectF对象

gio*_*ozh 2 android scale android-widget

是否可以在每个方向上按任意因子缩放RectF对象?在实践中,我将调整RectF的2倍大小(如果RectF为200X200,则我将其变为100x100)

小智 6

尝试这样的事情:

private void scale(RectF rect, float factor){
    float diffHorizontal = (rect.right-rect.left) * (factor-1f);
    float diffVertical = (rect.bottom-rect.top) * (factor-1f);

    rect.top -= diffVertical/2f;
    rect.bottom += diffVertical/2f;

    rect.left -= diffHorizontal/2f;
    rect.right += diffHorizontal/2f;
}
Run Code Online (Sandbox Code Playgroud)

这是在没有测试的情况下完成的,但我认为应该可以。这应将中心保持在同一位置并向外扩展。四面八方。