My problem is to measure the surface area of a path.
I generate a random Path and draw it on a canvas. After touching on this closen path, i want to get the area size of this drawn path.
How can i get the real area size of this path?
The pathes (shapes) looks like this here:
link to the image
Advertisement
Answer
I found a solution. I generate a Region from the path and use a RegionIterator to get Rects inside the Region. With this Rects i can calculate the whole area of the path.
private void calculateArea(Region region) { RegionIterator regionIterator = new RegionIterator(region); int size = 0; // amount of Rects float area = 0; // units of area Rect tmpRect= new Rect(); while (regionIterator.next(tmpRect)) { size++; area += tmpRect.width() * tmpRect.height(); } log.d("Rect amount=" + size); log.d("Area Size / units of area=" + area); }