可以在每个方向上按任意因子缩放 RectF 对象吗? 在实践中,我会调整 RectF 的 2 倍(如果 RectF 是 200X200,我希望他变成 100x100)
最佳答案
尝试这样的事情:
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;
}
这是在没有测试的情况下完成的,但我认为它应该可以工作。这应该使中心保持在同一位置并向外扩展。所有边都会是原来的两倍大。
关于android - 在每个方向缩放 RectF 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21779482/