// AddTo returns a new ImageGraphics which will write to (width x height) sized // area starting at (x,y) on the provided image img. The rest of the parameters // are the same as in New(). func AddTo(img *image.RGBA, x, y, width, height int, bgcol color.RGBA, font *truetype.Font, fontsize map[chart.FontSize]float64) *ImageGraphics { gc := draw2d.NewGraphicContext(img) gc.SetLineJoin(draw2d.BevelJoin) gc.SetLineCap(draw2d.SquareCap) gc.SetStrokeColor(image.Black) gc.SetFillColor(bgcol) gc.Translate(float64(x)+0.5, float64(y)+0.5) gc.ClearRect(x, y, x+width, y+height) if font == nil { font = defaultFont } if len(fontsize) == 0 { fontsize = ConstructFontSizes(13) } return &ImageGraphics{Image: img, x0: x, y0: y, w: width, h: height, bg: bgcol, gc: gc, font: font, fs: fontsize} }
// New creates a new ImageGraphics including an image.RGBA of dimension w x h // with background bgcol. If font is nil it will use a builtin font. // If fontsize is empty useful default are used. func New(width, height int, bgcol color.RGBA, font *truetype.Font, fontsize map[chart.FontSize]float64) *ImageGraphics { img := image.NewRGBA(image.Rect(0, 0, width, height)) gc := draw2d.NewGraphicContext(img) gc.SetLineJoin(draw2d.BevelJoin) gc.SetLineCap(draw2d.SquareCap) gc.SetStrokeColor(image.Black) gc.SetFillColor(bgcol) gc.Translate(0.5, 0.5) gc.Clear() if font == nil { font = defaultFont } if len(fontsize) == 0 { fontsize = ConstructFontSizes(13) } return &ImageGraphics{Image: img, x0: 0, y0: 0, w: width, h: height, bg: bgcol, gc: gc, font: font, fs: fontsize} }