花了点时间实现了对任意多边形进行矩形分割的功能,有需要的小伙伴可以点这里查看源码
一、实现效果:
1、对图片里的内容进行矩形分割
2、对多边形顶点数据进行矩形分割
3、查找图片里内容的最大内接矩形
4、查找多边形顶点数据内的最大内接矩形
二、包含的内容
1、核心代码只有一个C#类,方便集成,不依赖任何平台和Unity版本
2、完整的调用示例场景
3、完善的注释,核心逻辑都有注释,方便理解
4、接口调用简单,只需要两步:通过new实例化这个类,然后调用接口获得返回值
5、稳定,测试过1000种不同的场景
三、API 参考
1、int ignoreSize
表示允许忽略的矩形的值,小于该值的矩形将会被忽略
2、List<UnityEngine.Rect> SplitRectangles(List<Vector2> points, int pixelCount)
有序的点,围成的多边形,内部拆分成矩形;pixelCount:像素数量,值越大找到的矩形越精确,越消耗性能
3、List<UnityEngine.Rect> SplitRectangles(Texture2D image)
将图片内部拆分成矩形
4、UnityEngine.Rect LargestInteriorRectangle(List<Vector2> points, int pixelCount)
有序的点,围成的多边形,内部的最大内接矩形;pixelCount:像素数量,值越大找到的矩形越精确,越消耗性能
5、UnityEngine.Rect LargestInteriorRectangle(Texture2D image)
查找图片内容中的最大内接矩形
6、Texture2D Test_ImageResultToImage(Texture2D texture)
将图片分割的结果保存成图片,很耗时,建议只在测试结果是否正确的时候用
7、Texture2D Test_PolygonResultToImage()
将多边形分割的结果保存成图片,很耗时,建议只在测试结果是否正确的时候用
标签:分割,多边形,pixelCount,内接,Unity,Texture2D,矩形 From: https://www.cnblogs.com/Jason-c/p/17441537.html