MtPaint, A Lighter Paint Utility
Bowl This T-shirt
If you are a little intimidated by the heavy-duty paint programs like
Photoshop or Gimp, then perhaps you should check out MtPaint, a capable
but much lighter bitmap image editor. It has many of the features of the big
fellows, but consumes far less resources, runs faster, yet has many of the
common features you likely need. If your system bogs down with the big boys,
MtPaint may be just the ticket.
In fact, the image shown in the MtPaint screen grab above was designed
using MtPaint and placed on a bowling shirt image at my Cafepress Bowling Duds
store. You can see the image on shirts just by clicking on it
As I describe the features of MtPaint, I'll often compare them to the GIMP, as it's a painting program very commonly
used, and one that I have experience with. I'll try to relate the features of
MtPaint to corresponding ones available in Gimp, and also list some of the
features that Gimp has that MtPaint does not.
MtPaint Has The Common Paint Tools
First of all, much like Gimp, MtPaint lets you draw on a digital canvas. You
can set the size of the canvas, and resize it even after you've started drawing
on it. You can freehand draw with the mouse or a drawing tablet using a large
selection of brush styles and sizes. MtPaint has a number of random pixelized
brushes you can use for a spray paint effect, as opposed to the Gimp
Like Gimp, MtPaint has a line-draw tool to draw independent or connected
straight lines. And like Gimp, MtPaint has functions that let you easily draw
squares, rectangles, circles, and ovals. There's a combination tool that lets
you draw polygon shapes or freehand shapes, and a smudge tool that lets you
create additional artistic effects. But there isn't a Belzier curve tool as in
Gimp. The lack of Belzier curves makes drawing objects with arbitrary smooth
MtPaint lets you select or change the color of any of the drawing tools in a
number of ways. There's a handy color bar along the left margin of the MtPaint
display, but you can also choose color tools that let you click on colors
displayed in a palette gradient, or even enter the red, green, and blue values
of the color you want. Like the Gimp color picker tool, there's a color
picker tool in MtPaint that lets you set the brush color to a color that's
already somewhere on the canvas.
MtPaint Does Gradients
As with Gimp, MtPaint's rectangle and oval drawing tools let you simply
outline the rectangular or oval shape in the chosen color and with the chosen
brush size, or fill the shape with a solid color or gradient. A paint tool
similar to the one in Gimp is also available for filling in a bordered shape,
or changing the color of an existing shape.
Two Color Gradient
Like Gimp, MtPaint's gradient tool offers several options for controlling
the the nature of the gradient, including linear, bi-linear, radial, square,
angular, and conical. Any fill style can also be selected as a repeating
pattern. The gradient tool usually makes a gradient between color A and color B
(the two currently selected paint colors) as in the upper image in the above
illustration. But gradients composed of many colors are possible, as in the
Implementation of the MtPaint gradient tool is less sophisticated in
application method than the Gimp implementation. With Gimp, you can select
a gradient style and paint it into any arbitrary shape. With MtPaint, you must
bring up the Settings Toolbar shown above and click on the gradient
bar to activate gradient fill. You must likewise click again on the gradient
bar to get back to single color painting. It's an easy step to forget, and if
you forget you'll wonder why the test gradient you can create on the screen
isn't used to fill the selected shape.
At least from my experience, it appears that MtPaint can only paint a
controlled gradient directly into a rectangle or oval as created by
the rectangle or oval selection tools, except for a default gradient from
the center pattern. To get a controlled style gradient into an arbitrary
shape, I've had to fill an appropriate sized rectangle with the gradient, then
use the polygon/freehand selection tool to cut the shape I want out of the
MtPaint Does Layers
A very important paint feature for creating more complex designs is the
ability to use layers. I almost always make use of the Gimp layers when I
create a new t-shirt design.
Layers are stacked canvases that let you keep objects independently
alterable by having different objects each on their own canvas layer. If you
place each object on its own layer, you can independently move the objects
around, and place them in front of or behind other objects just by selecting
the stacking order of the layers.
Happily, MtPaint offers the concept of layers, and does so in a way
that gives most of the functionality of the Gimp layering system. One handy
layer capability that Gimp offers that MtPaint does not is the ability to
chain selected layers together so that moving an object in one of the
layers will move all of the chained layers together. With MtPaint, objects in
the different layers must be moved around independent of all other layers.
Even so, MtPaint offers quite a number of options one can do to layers,
Drag and drop an image into a layer.
Grab a window into a layer.
Convert from indexed palette to RGB, or vice versa.
Scale layer up or down in size.
Resize layer canvas.
Crop layer size.
Flip layer horizontally or vertically.
Rotate layer +/- 90 degrees.
Rotate layer by arbitrary angle.
Skew layer horizontally and/or vertically.
Set which color is to be transparent.
In addition to the controls on the layer tool, other layer handling options
are available in the layer pull-down menu. The combined layering options in
MtPaint are sufficient for creating some very complex image creation. The
following additional operations are available from the MtPaint layer menu:
Paste text. You can select or enter by hand larger text sizes, then click in the text window to cause the size change.
Add new layer.
Set transparent color for layer.
Select opaqueness of layer.
Swap position of layers.
Load or save layer from/to file.
Merge selected layers to new layer.
Merge selected layers and save to file.
Set key frame.
Remove all key frames.
The animation support in MtPaint is very interesting. I've created simple
gif animations with Gimp. It's a process that makes use of layers. I made each
layer to be a frame of my intended animation, then selected a Gimp option that
creates an optimized set of layers ready to save as an animated gif. I was then
able to select the delay time for each frame, then save the animated gif.
There is a plugin for Gimp called Gap that helps automate the making
MtPaint can create animated gifs using layers in a very similar way. You can
create each layer as an animation frame, then save the layer with a specific
file name, such as frame-001.gif. Each layer can be saved as another
frame file, adjusting the count for the desired sequence in the animation,
like frame-002.gif ... frame-00n.gif.
Then under the file menu pull-down, you can select Export animated GIF
and fill in the frame delay and an output file name for the animated gif that
combines all the saved frames. Note that the layer images that are to make
up an animated gif must use the indexed palette.
But MtPaint can create animated gifs with even less work, especially if what
you want to do is move objects around, and/or adjust their opaqueness. So what
takes a plugin for Gimp is built in with MtPaint. The procedure can seem
a bit confusing at first, but it really is pretty logical.
First create or load a
background layer, then create the objects you wish to animate -- each in its
own layer if you want independent motion, then save each layer and use the
layer menu save as, which saves a text file listing all the layers.
Then position each layer to the desired first frame positions using the
position section of the layer tool and select the Set Key
Frame layer utility to set the frame number for that layering
configuration. Then move the objects (layers) to new positions and select the
opaqueness if desired, and select the Set Key Frame again to enter the frame
number for the new layering configuration. If you want the change in positions
and/or opaqueness to take 10 frames for example, then enter 10 in the Set Key
Frame pop up.
Once all key frames are defined, select Save or Save As from
the Layers menu so that the key frame definitions will be saved along
with the images in the layers. Finally, select the Configure Animation
tool from the Layers menu and use it to define the total number of
frames in the gif and the delay between frames, then generate the animation.
The neat part is, you don't have to create each frame by hand, just frame
configurations for end of transition positions. MtPaint will interpolate the
changes and make the intermediate frames.
The image above is an example. I was able to create only 4 layer
configurations, but end up with a 25 frame animation (30 counting redundant
frames at the end to create a pause). The animation gives an example of what
one sees through the Cheshire alignment eyepiece with aligning a Newtonian
telescope. A web page on the collimation operation is at Newtonian
Collimation for any amateur astronomers out there.
I created layers for each of the two labels, and of the concentric rings
which represent the eyepiece (blue), the secondary mirror (purple), the primary
mirror (green), and the reflection of the Cheshire eyepiece (red). The 4 Set
Key Frame configurations were the initial out of alignment and label 1
(frame 1), end of secondary alignment (frame 10), label 2 instead of label 1
(frame 14), and completion alignment (frame 25). MtPaint generated all the
intervening frames with linear interpolation to make the in between
The banner below was also constructed with a few instruction in Mtpaint.
It shows a penguin peeking around a laptop. Only about 4 key-frames needed
to be defined for Mtpaint to construct the entire animation.
MtPaint Works On Selections, With Some Limitations
While these features compares favorably with the Gimp layer features, what
one can do with subsections or selected areas of a drawing within a layer in
MtPaint is more limited than what one can do in Gimp. Only the following
operations can be done to a selected area within an MtPaint layer:
Rotate +/- 90 degrees, but not arbitrary angles.
Lasso a selection with or with/out cutting the original object.
Cut and paste selected areas.
Fill or outline rectangle, oval, or polygon.
Flip horizontally or vertically.
Draw a horizontal or vertical gradient between two points or lines.
Save/restore and object to/from 12 selectable clipboards.
Blend objects together.
The blend objects feature needs some explanation. The cut and paste
features of MtPaint, while generally adequate, seem sometimes a bit primitive.
Take for example the images below:
|Text And Object|
In the above example, the first image shows some text in blue and a
rectangular object in purple. The second image shows what happens when the text
is selected with the rectangular select tool and lassoed with the lasso tool
(to eliminate any surrounding background), and pasted onto the rectangle.
Notice that the internal portion of the O's doesn't paste as you might
The right most image shows the result of copying the text and using the
Blend tool from the selection's menu. Now you see the text painting onto
the rectangle more like you might expect. This give a bit of flavor of how
tools in MtPaint are. Many seem more primitive than you are perhaps used to,
but you can usually find a way to accomplish what you want.
Also notice that unlike with Gimp, the selected area operations in MtPaint
are more limited than what you can do to an entire layer. For example, in
MtPaint you cannot rotate a selected area by an arbitrary angle, or skew just a
selected area. So you find you must cut a selected area and paste it into its
own layer to do some operations that Gimp provides to just a selected region of
MtPaint Offers Plenty Of Color Management
As to color management, MtPaint lets you have an indexed color palette or an
RGB palette. The number of RGB levels can be whatever you like up to a 24 bit
level. Two colors at a time are selected, labeled A and B. A is the current
painting color, and B is used in conjunction with A for gradients.
You can also perform the following functions to control the palette:
Save a palette.
Load a palette.
Mask or unmask all colors.
Swap colors A & B.
Edit color A & B.
Dither color A.
Use palette editor
Set palette size.
Merge duplicate colors.
Remove unused colors.
Create quantized palette.
Use palette shifter.
MtPaint Has Limited Special Effects
MtPaint has a very usable set of special effects, though for the most part
it's a small subset of the big list of effects included in Gimp. Included in
the MtPaint arsenal are:
Transform color (gamma, brightness, contrast, saturation, hue, posterize).
Set color to gray scale.
Isometric transformation of layer.
Edge detect (several algorithms).
Difference of Gaussians.
Kuwahara-Nagao Blur, approximates the Gimp Oilify effect.
What's missing from MtPaint in comparison to Gimp is the Gimp's extensive
list of distorts, such as curve-bend, iwarp,
ripple, and many others. Many of these are what I'd call
non-linear distortion effects. MtPaint primarily provides linear
Additional Control Using Channels
MtPaint has three channels and a menu for controlling them that offer some
additional image control. The three channels are alpha, selection, and
mask. Often you can achieve the effects of a control included in Gimp by
executing a sequence of MtPaint channel tool commands. For example, Gimp has a
tool that lets you select canvas objects by color, or range of color. Then
manipulations, such as painting or inverting are done to all objects on the
current layer that are in the color range selected.
Using the MtPaint mask channel, MtPaint lets you either mask a color,
which protects it from things like changing hue or contrast, or protect all
but the color indicated. Then alterations like hue, brightness, etc. will
work on all objects in the canvas with the inverted mask color, but not
areas that are some other color.
The alpha channel lets you have some control over how transparency is
handled. The selection channel lets you do things like turn an arbitrary
shape or even some text into a cookie cutter, which can then be used to
extract that shape from an image.
While there are interesting capabilities offered through the use of the
channels, the necessary manipulations are often arcane and difficult to figure
out. The html help file that comes with MtPaint describes how to use the
channels to accomplish special image controls, but it's difficult to extend
those instructions to new situations you might encounter. The channels menu has
the following options:
Create new channel.
Save channel as.
Edit alpha channel.
Edit selection channel.
Edit mask channel.
Notes On Putting MtPaint To Work
With all of these tools and options, you can see that MtPaint is certainly a
capable image manipulator or creator. All of the listed tools can be applied to
digital photographs, or drawings you make from scratch. With tools like
gradient, channel controls, and layers, quite complex images can be created and
manipulated with MtPaint.
In my own work, I use bitmap paint programs to create illustrations for my
web pages, and I create graphic designs for some Print On Demand (POD)
suppliers. I have designs on a number of products at Cafepress Bowling Duds and
. Obviously some of the designs are bowling shirts, but the
Keendesigns shop has designs on astronomy,
physics, Linux, and general humor theme products.
I've created the vast majority of my designs with Gimp. But to wring out the
capabilities of MtPaint, I created a few designs with it, and found that
probably 80 percent of the things I've created could probably have been done
with MtPaint. So one could definitely go into the POD business with MtPaint if
they didn't like the complexity of bigger software products, or were working on
modest computer equipment.
Limits On The Scaling Tools
The feature of MtPaint that I found most restrictive was the collection of
scaling tools. While MtPaint offers a number of scaling algorithms, none of
them did as good a job as the scaling tool in Gimp. Sometimes, depending upon
the color transitions at the edge of an object, the MtPaint scaling tool will
leave a ragged edge, or an edge of a different color than the drawing, or even
some disjointed dots or lines along the edge. Below are some examples of how
well some of the scaling tools worked when scaling up a simple filled
|Circle Fill Segment|
|Scaled With Nearest Neighbor|
|Scaled With Bilinear|
|Scaled With Blackman-Harris|
The above left-most image shows an edge segment of the initial filled
circle. It shows no color anomalies along the edge, just the normal
pixelization. The next image shows the edge of the circle after being scaled up
by a factor of four using the simple Nearest Neighbor scaling option.
While it's a simple algorithm, it cleanly expanded the image without distorting
the edge of the image. For my t-shirt work I found it to be the most
trust-worthy scaling option.
The next image shows the result of scaling up the circle with the
Bilinear option. Notice that a dark edge has appeared surrounding the
image, created by the scaling algorithm. And finally, the right-most image
shows the result of scaling up the circle with the Blackman-Harris
scaling option. This algorithm not only created a dark outline of the image,
but a shadow outline of the image that stands apart from the edge of the object.
I have never encountered these odd effects with the scaling options provided by
Other than the MtPaint scaling tool, the other tools worked well, and I was
able to create the designs I had in mind.
As to ease of design creation, I'd call it about a draw between MtPaint and
Gimp, within the limits of what MtPaint can do. Some operations were more
difficult with MtPaint, especially when I had to use the arcane channel
commands. But to be fair, some operations were a bit easier to accomplish with
For the kinds of designs I create, I found that the following list of
capabilities that exist in Gimp but not in MtPaint are the features I
miss the most:
Belzier curves for drawing or outlining with smooth lines.
The ability to edit text within an image as text, not a bitmap drawing. Gimp
retains knowledge of text blocks, whereas MtPaint can only work with text as
such until it's placed on the canvas. Then it's just another bitmap shape.
More options for manipulating selected areas of an image, such as rotation,
scaling, skewing, etc.
More ways to select an area of an image for further manipulation.
A large list of distorts than can be applied to an image or portions of an
image, like the curve-bend, iwarp, ripple tools and the light
The ability to save a multi-layered design as a single entity, to be restored
later with all layers. With MtPaint, each layer must be saved separately.
A larger selection of patterns for filling areas.
The ability to create patterned sphere designs, like realistic bowling
The ability to map images onto different shapes, like planes, spheres,
The ability of using script-fu scripts to perform sequences of
operations for special effects.