37 lines
815 B
Scala
37 lines
815 B
Scala
object BitmapOps {
|
|
def midpoint(bm:RgbBitmap, x0:Int, y0:Int, radius:Int, c:Color)={
|
|
var f=1-radius
|
|
var ddF_x=1
|
|
var ddF_y= -2*radius
|
|
var x=0
|
|
var y=radius
|
|
|
|
bm.setPixel(x0, y0+radius, c)
|
|
bm.setPixel(x0, y0-radius, c)
|
|
bm.setPixel(x0+radius, y0, c)
|
|
bm.setPixel(x0-radius, y0, c)
|
|
|
|
while(x < y)
|
|
{
|
|
if(f >= 0)
|
|
{
|
|
y-=1
|
|
ddF_y+=2
|
|
f+=ddF_y
|
|
}
|
|
x+=1
|
|
ddF_x+=2
|
|
f+=ddF_x
|
|
|
|
bm.setPixel(x0+x, y0+y, c)
|
|
bm.setPixel(x0-x, y0+y, c)
|
|
bm.setPixel(x0+x, y0-y, c)
|
|
bm.setPixel(x0-x, y0-y, c)
|
|
bm.setPixel(x0+y, y0+x, c)
|
|
bm.setPixel(x0-y, y0+x, c)
|
|
bm.setPixel(x0+y, y0-x, c)
|
|
bm.setPixel(x0-y, y0-x, c)
|
|
}
|
|
}
|
|
}
|