Imagine Draw Action Plugin (Free) Overview


Christmas Release, Draw is now Free as well as every other Imagine Programming product!

If you still wish to donate for the original version of Draw, or if you want to view the full changelog, check the original product page

Imagine Draw is an AMS Action plugin that will allow the developer to render 2D graphics onto images or a Canvas area on an AMS window. Outputs and images can be stored and loaded using several image formats.

Draw will allow you to decode, encode and draw onto images. Draw has many supported formats, such as (Decoders): PNG, JPEG, JPEG2000, BMP, ICO, TIFF, TGA and (Encoders): PNG, JPEG, JPEG2000, BMP.

Using Draw, you can generate any image you want. Included are tons of functions for rotation, mirroring, flipping, drawing lines, boxes, circles, ellipses, gradients, images onto images, arcs, polygons, bold lines, pies.

All this can be done using blending modes, currently there are over 50 blending modes available in Draw. Aside from blending modes, a few filters have been added as well. These filters allow you to draw diagonal, horizontal and vertical lines in specific areas, to negate the colors in a specific area, darken and lighten colors and more!

Draw also comes with functions to Load fonts, these allow you to preload an installed font and use them in your drawing code. You can draw text, angled text and determine the width and height calculated for a string of text you wish to draw.

Draw supports many pixel formats, from 8 bits RGB to 32 bits RGBA. If you create a new image, you have to choose between 24 bits RGB, 32 bits RGB and 32 bits RGBA, but once you encode the image to file or buffer you can specify which pixel format to use.

The submodule Color inside Draw allows you to work with colors, color calculation, conversion to hexadecimal strings, conversion from hexadecimal strings, gradient calculation, alpha blending or mixing two colors.

The, previously developed by RizlaUK, Canvas plugin will also be a part of Draw. The completely redesigned Canvas object is ported with this version. The Canvas allows you to draw directly onto an Object in AMS using the same functions as the ones used for drawing onto images. The Canvas object also allows events, grabbing mouse and keyboard input and more!


Decode and encode imagesDraw comes with a set of image decoders and encoders. For now, PNG, JPEG, JPEG2000, BMP, ICO, TIFF, TGA and raw binary image data can be decoded. Currently only PNG, JPG, JPEG2000, BMP and raw binary are supported as encoders, however in the future more decoders and encoders will be added.
Data URI FormatAside from decoding and encoding image from/to known image formats, Draw also supports the Data URI standard. This means that it can save images which can be used in modern browsers or in an AMS project.
Quick EditingDraw has advanced drawing functions, but when simple quick modifications have to be done, Draw has several functions for quick resizing, cropping, grabbing, rotating and mirroring. These functions will all return a copy of the original image, but with the modifications applied.
Color CalculationWhen you edit an image, it's useful to have assistance for generating the desired colors and color variations. Draw comes with a set of functions which can manipulate 24-bits and 32-bits colors, extract color values from a color, manipulate a single color value in a color, blend and mix several colors and calculate nice gradients! This color library also comes with functions to convert a color to the hexadecimal format used in HTML and CSS, and knows how to interpret these colors for use in drawing operations as well.
Custom FontsWith Draw, you can load fonts so you can use them in the Text drawing operations. This system supports anti-aliasing, bold, italic and underlined fonts. It's even possible to load a font from file when you use MemoryEx, this feature will be included in Draw in the future.
ShapesWhen you start drawing onto an output (e.g. an image or a canvas), you can draw several shapes onto the output. Rectangles, rounded rectangles, circles, ellipses, lines, bold lines, polygons, pies, arcs or even a single pixel.
GradientsInstead of using a solid color for your next drawing operation (e.g. a shape), it's also possible to draw this object with a gradient color. Multiple gradient types are supported, such as a linear or circular gradient. Each gradient can have plenty of points with colors, so drawing a rainbow should be easy!
Collib Filters / Blending ModesDraw includes a library we developed a long time ago for a batch photo editor. This library contains over 50 blending modes and several filters, so instead of drawing using a normal color or gradient, you can have Draw blend the bottom layer and the top layer together using the desired algorithm.
CanvasA fully interactive object hosted in an Input object which can serve as a drawing output. This means that instead of drawing onto an image, you can draw onto your AMS window and show the 2D graphics real-time. All the drawing operations that are enabled for an image, are enabled for a canvas area as well. This Canvas area is fully interactive an supports mouse- and keyboard events.

You could also grab the output of the canvas and save it as an image later, see the Userbar Generator example for more information on this and on loading fonts from files.



Filename Version / Changelog  
draw-action-plugin- Tue 21 May 2019, version - View changes.
  • Fixed: Issues related to build chain, similar to MemoryEx fixes
  • Updated: Helpfile
x Download
draw-action-plugin- Mon 25 Dec 2017, version - View changes.
  • Updated: Now completely free for commercial use, a link back will be appreciated
x Download

Additional Information

Before trying things out yourself, it would be wise to read the documentation regarding this plugins as some operations can cause unwanted behaviour if not executed well. For example, it's important to never start drawing onto an output when you haven't stopped drawing onto the previous output.

Compatibility Information

  • This software requires a Windows operating system equal to or greater than Windows 2000.
  • This plugin requires AutoPlay Media Studio 8.0 or greater.
  • This plugin might consume considerable amounts of memory when large images are being edited, it is important to take that into account.


  • DrawingImage.Export
  • DrawingImage.GetDC
  • DrawingImage.Free
  • DrawingImage.Save
  • DrawingImage.Mirror
  • DrawingImage.Copy
  • DrawingImage.FastRotate
  • DrawingImage.Resize
  • DrawingImage.New
  • DrawingImage.IsValid
  • DrawingImage.Draw
  • DrawingImage.FreeRotate
  • DrawingImage.GetOriginalFormat
  • DrawingImage.FreeExported
  • DrawingImage.GetHeight
  • DrawingImage.GetID
  • DrawingImage.GetWidth
  • DrawingImage.CopyRect
  • DrawingImage.GetDepth
  • DrawingImage.Load
  • DrawingImage.ExportedSize
  • Canvas.Clear
  • Canvas.GetDC
  • Canvas.Free
  • Canvas.Draw
  • Canvas.Create
  • Canvas.SetCursor
  • Canvas.GrabImage
  • Canvas.RemoveCallback
  • Canvas.SetCallback
  • Color.SetGreen
  • Color.RGBA
  • Color.SetAlpha
  • Color.RGBGradientColors
  • Color.GetBlue
  • Color.AlphaMix
  • Color.RGBToHex
  • Color.RGB
  • Color.GetAlpha
  • Color.SetBlue
  • Color.AlphaBlend
  • Color.RGBAToHex
  • Color.RGBAtOffset
  • Color.RGBAAtOffset
  • Color.HexToRGBA
  • Color.HexToRGB
  • Color.GetGreen
  • Color.RGBAGradientColors
  • Color.SetRed
  • Color.GetRed
  • Drawing.DrawBoldLine
  • Drawing.PrepareEllipticalGradient
  • Drawing.PrepareRectangularGradient
  • Drawing.SetGradientColors
  • Drawing.ClearGradientColors
  • Drawing.GetTextHeight
  • Drawing.FillOutlinedRegion
  • Drawing.PrepareCircularGradient
  • Drawing.SetDrawingFont
  • Drawing.SetBackColor
  • Drawing.DrawLine
  • Drawing.GetTextWidth
  • Drawing.DrawRectangle
  • Drawing.PrepareConicalGradient
  • Drawing.DrawPixel
  • Drawing.DrawPolygon
  • Drawing.GrabCurrentOutput
  • Drawing.SetFrontColor
  • Drawing.SetFilteringMode
  • Drawing.DrawLineEx
  • Drawing.DrawPie
  • Drawing.DrawArc
  • Drawing.GetAvailableCollibFilters
  • Drawing.SetCollibFilter
  • Drawing.GetColorBuffer
  • Drawing.PrepareLinearGradient
  • Drawing.GetPixel
  • Drawing.SetSingleGradientColor
  • Drawing.DrawCircle
  • Drawing.DrawImage
  • Drawing.DrawRoundedRectangle
  • Drawing.DrawAlphaImage
  • Drawing.GetOutputInfo
  • Drawing.DrawEllipse
  • Drawing.DrawText
  • Drawing.DrawAngledText
  • DrawingFont.GetID
  • DrawingFont.Load
  • DrawingFont.Free