Hi, thanks for your response.
I just tried making the circle in GIMP as a .png and set the background to transparent in the file itself in GIMP, as opposed to making the background green and setting a color key in code.
As long as I blur the edges of the circle (I've found that a Gaussian blur of the image at 2 or 3 pixels works better than antialias), the circle's edges show up as much smoother than the .bmp circles, but there's still some visible pixelation.
Here's basically what my code does:
dbLoadImage("Circle.png", 1);
dbSprite(1, 100, 100, 1); // create sprite
dbSizeSprite(1, 24, 24); // (the original .png is 100x100 pixels)
dbSprite(1, 100, 100, 1); // draw sprite to screen
As you can see from the code, when I load the image, I'm not adding a third argument of '1' (which is I think what you were recommending), and it seems to handle the transparency fine. I did just try adding a third argument of '1', but it didn't visibly change anything.
I also used your image and it has a lot less edge pixelation than the .bmp's, but it still has somewhat rough edges, especially when I animate the circle to make it grow larger.
The .png recommendation is a giant step in the right direction. I think I just have to learn some tricks in GIMP for making .png's with the smoothest edges.
If anyone else has had trouble with jagged edges with the shapes, I'd love to hear how you solved the problem, or any tips you might have.