I have this:
And I need to know all pixels in array inside the circle.
Thanks.
Distance Formula for a Point and the Center of a Circle: d=√(x−h)2+(y−k)2 d = ( x − h ) 2 + ( y − k ) 2 , where (x, y) is the point and (h,k) is the center of the circle. This formula is derived from the Pythagorean Theorem.
You are looking for the following set of pixels:
with r being the radius of your circle and (m1, m2) the center.
In order to get these pixels iterate over all positions and store those which meet the criteria in a list:
List<int> indices = new List<int>();
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
double dx = x - m1;
double dy = y - m2;
double distanceSquared = dx * dx + dy * dy;
if (distanceSquared <= radiusSquared)
{
indices.Add(x + y * width);
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With