public void RenderToGraphics(Graphics g, float zoom)
{
var rect = CalculateGlobalBounds();
if (rect.Width > 0 && rect.Height > 0)
{
g.Clear(CustomBackColor);
g.SmoothingMode = SmoothingMode.AntiAlias;
foreach (var primitive in _allPainting)
DrawPrimitive(primitive, g, zoom, new Point((int) (-rect.Left*zoom), (int) (-rect.Top*zoom)));
}
}