The reason is that the Tcanvas is using GDI under the hood to draw and GDI does not support anti-aliased mode for graphics. you need to use a different engine eg GDI+ or use the aggpas library that comes with lazarus for painting on a buffer and copy that buffer to the image afterwards, although I think that there is a rasterizer for tbimaps included with aggpas.