android - 在每个方向缩放 RectF 对象

标签 android android-widget scale

可以在每个方向上按任意因子缩放 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/

相关文章:

android-widget - 从 xamarin 或 monodroid 中的资源布局获取 View

css比例图像

oracle - Oracle NUMBER的小数位数如何比精度大?

android - android和ios设备之间的数据传输

android - 具有相同 key 的多个条目 : android:allowBackup=REPLACE and android1:allowBackup=REPLACE

java - 使用layout_weight而不被拉伸(stretch)

r - 如何在 ggplot2 中调整 geom_tile 的比例?

android - 模拟 FirebaseRemoteConfig getBoolean()

java - 在 Android 中创建从右到左的 PDF 文件

android - 如何在午夜更新应用程序小部件?