【Android高级UI】计算不规则图形面积

问题

在手写类,识别类,或地图类应用当中

我们可能会遇到画一个不规则的区域,然后求其面积的需求

原理

Android的RegionIterator,提供了将不规则区域,分割为若干规则矩形的功能

只要计算出每个小矩形的面积,累积起来就是整个区域的面积

我们手绘的信息,一般通过Path来记录,而Region可以通过Path来创建

实现代码
fun Path.area() {
    close()
    val region = Region()
    val bound = computeBounds(true)
    val clip = Region(bound.toRect())
    region.setPath(this, clip)
    var area = 0
    var tempRect = Rect()
    val iterator = RegionIterator(region)
    while (iterator.next(tempRect)) {
        area += tempRect.width() * tempRect.height()
    }
}

相关推荐

  1. Android高级UI计算不规则图形面积

    2024-07-10 10:12:06       12 阅读
  2. 视觉图像面积计算

    2024-07-10 10:12:06       7 阅读
  3. 不规则数组

    2024-07-10 10:12:06       30 阅读
  4. 不规则轮回

    2024-07-10 10:12:06       16 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 10:12:06       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 10:12:06       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 10:12:06       4 阅读
  4. Python语言-面向对象

    2024-07-10 10:12:06       4 阅读

热门阅读

  1. Python库 - PyMC3

    2024-07-10 10:12:06       7 阅读
  2. C语言中关键字

    2024-07-10 10:12:06       11 阅读
  3. ios CCPlistFileWritter.m

    2024-07-10 10:12:06       10 阅读
  4. C#实现Winform程序右下角弹窗消息提示

    2024-07-10 10:12:06       10 阅读
  5. 【PyTorch单点知识】自动求导机制的原理与实践

    2024-07-10 10:12:06       11 阅读
  6. 大数据平台之Hive Metastore

    2024-07-10 10:12:06       9 阅读
  7. 《框架封装 · Redis 事件监听》

    2024-07-10 10:12:06       7 阅读
  8. Knife4j的原理及应用详解(四)

    2024-07-10 10:12:06       9 阅读