我一直在寻找遍及Web的方法来绘制矩形坐标中的椭圆,即左上角(x,y)和大小(宽度和高度)。我能找到的唯一的地方是基于Midpoint/Bresenham算法,我不能使用它,因为使用整数像素时,我会失去精度,因为这些算法使用中心点和径向。从矩形中绘制椭圆
椭圆必须限于矩形的坐标,所以如果我给它一个矩形,其宽度和高度是4(或任何偶数),我应该得到一个完全适合4x4矩形的椭圆,而不是一个将是5x5(就像那些算法给我的)。
有谁知道有什么办法可以做到这一点?
谢谢!
我一直在寻找遍及Web的方法来绘制矩形坐标中的椭圆,即左上角(x,y)和大小(宽度和高度)。我能找到的唯一的地方是基于Midpoint/Bresenham算法,我不能使用它,因为使用整数像素时,我会失去精度,因为这些算法使用中心点和径向。从矩形中绘制椭圆
椭圆必须限于矩形的坐标,所以如果我给它一个矩形,其宽度和高度是4(或任何偶数),我应该得到一个完全适合4x4矩形的椭圆,而不是一个将是5x5(就像那些算法给我的)。
有谁知道有什么办法可以做到这一点?
谢谢!
你不能得到宽度和高度(除以2)和矩形的中心,然后将它插入任何椭圆绘制例程作为其主要,次要轴和中心?我想我在这里一直没有看到问题。
不,我不能这样做,因为对于均匀的宽度和高度,所得到的椭圆的宽度和高度将从原始的像素增加一个像素,因为它将像素绘制在中心+轴和中心轴上。我需要它完全在界限内,我的“像素”是32x32,所以这是非常明显的。 – 2010-05-26 16:44:36
所以这个问题是亚像素的准确性和反映关于象限导致一些边缘覆盖。鉴于此,你应该能够存储一个非整数宽度高度(或至少一个固定点值与1位分数)来处理这个问题。 然后问题是发现或编写一个椭圆发生器,使用非整数宽度和高度。这不应该太难找到,但我没有看起来可能不是这样吗? – 2010-05-26 17:12:33
只是要清楚,给出一个边框,您希望通过框围成的椭圆最大? – 2010-05-26 16:20:25
这就是我想要的。 – 2010-05-26 16:42:45