func Draw(gc draw2d.GraphicContext, png string,
	dw, dh, margin, lineWidth float64) error {
	// Draw frame
	draw2dkit.RoundedRectangle(gc, lineWidth, lineWidth, dw-lineWidth, dh-lineWidth, 100, 100)
	gc.SetLineWidth(lineWidth)
	gc.FillStroke()

	// load the source image
	source, err := draw2dimg.LoadFromPngFile(png)
	if err != nil {
		return err
	}
	// Size of source image
	sw, sh := float64(source.Bounds().Dx()), float64(source.Bounds().Dy())
	// Draw image to fit in the frame
	// TODO Seems to have a transform bug here on draw image
	scale := math.Min((dw-margin*2)/sw, (dh-margin*2)/sh)
	gc.Save()
	gc.Translate((dw-sw*scale)/2, (dh-sh*scale)/2)
	gc.Scale(scale, scale)
	gc.Rotate(0.2)

	gc.DrawImage(source)
	gc.Restore()
	return nil
}
func Draw(gc draw2d.GraphicContext, png string,
	dw, dh, margin, lineWidth float64) error {
	
	draw2dkit.RoundedRectangle(gc, lineWidth, lineWidth, dw-lineWidth, dh-lineWidth, 100, 100)
	gc.SetLineWidth(lineWidth)
	gc.FillStroke()

	
	source, err := draw2dimg.LoadFromPngFile(png)
	if err != nil {
		return err
	}
	
	sw, sh := float64(source.Bounds().Dx()), float64(source.Bounds().Dy())
	
	
	scale := math.Min((dw-margin*2)/sw, (dh-margin*2)/sh)
	gc.Save()
	gc.Translate((dw-sw*scale)/2, (dh-sh*scale)/2)
	gc.Scale(scale, scale)
	gc.Rotate(0.2)

	gc.DrawImage(source)
	gc.Restore()
	return nil
}
func Draw ( gc draw2d . GraphicContext , png string , dw , dh , margin , lineWidth float64 ) error { // Draw frame draw2dkit . RoundedRectangle ( gc , lineWidth , lineWidth , dw - lineWidth , dh - lineWidth , 100 , 100 ) gc . SetLineWidth ( lineWidth ) gc . FillStroke ( ) // load the source image source , err := draw2dimg . LoadFromPngFile ( png ) if err != nil { return err } // Size of source image sw , sh := float64 ( source . Bounds ( ) . Dx ( ) ) , float64 ( source . Bounds ( ) . Dy ( ) ) // Draw image to fit in the frame // TODO Seems to have a transform bug here on draw image scale := math . Min ( ( dw - margin * 2 ) / sw , ( dh - margin * 2 ) / sh ) gc . Save ( ) gc . Translate ( ( dw - sw * scale ) / 2 , ( dh - sh * scale ) / 2 ) gc . Scale ( scale , scale ) gc . Rotate ( 0.2 ) gc . DrawImage ( source ) gc . Restore ( ) return nil }
// Draw the image frame with certain parameters.
Draw the image frame with certain parameters .