LodePaint User Manual
Back to main page
About LodePaint
About
LodePaint is a painting program that tries to fill in the gap between simple painting
programs such as Paint or KolourPaint, and professional ones such as Photoshop. LodePaint
has an interface that is more similar to the simple painting programs, but adds a lot more
tools and advanced filters.
The user interface of LodePaint uses a game engine, rather than a classical GUI, in an attempt
to have a simple but flexible GUI that works on multiple platforms. A side effect of this is that
LodePaint requires 3D (even for its 2D graphics) hardware accelerated graphics to run, but that should not be
a problem on most of todays computers.
The focus of this painting program is on drawing
pixel-based paintings, textures, sprites or icons for games, programs or websites. Pixel-precision is considered more
important than anti-aliased effects, for example.
The focus of the program is not on publishing, printing, illustrations, posters or professional graphics.
And finally, this painting program has some special features that are different than most painting programs. For
example, the alpha channel is treated as an equal channel than R, G and B: opacity is always a different setting.
Zooming and panning on the image can be done even while in the middle of using any tool. HDR images can be edited as well,
and this using 128 bits per pixel.
This is what an earlier version of the program looks like:
Design Principles (Philosophy of this program)
These points describe what design choices are made for this program and what
the purpose mainly is.
-
Main Purpose: pixel art, icons, sprites, textures, and computer graphics effects.
-
Pixel Precision
It must be easy to edit per-pixel, so the following features are essential,
no matter how trivial they sound:
- The arrow keys move the mouse cursor exactly one pixel of the painting.
- There must be a way to easily see the numerical RGBA color value of any pixel without many mouse clicks.
- Always see the numerical coordinates of the pixel where the mouse is somewhere (at the bottom of a Paint window)
- See exact edges of pixel that will be edited by rectangular or single-pixel tools, to make it easy to predict which pixel(s) will be affected.
- Multiple mouse buttons must be able to draw a separate color, to have multiple colors at your finger tips.
- It must be easy to switch between color picker and other tool without moving the mouse, to be able to use the image as a giant palette.
- When doing something over a distance larger than the screen, it must be possible to choose the exact pixel where you start
and end. It's made possible by being able to zoom and pan while in the middle of using any tool.
- Sharp pixels are preferred over anti-aliasing
This doesn't mean that anti-aliasing features are completely excluded from this program, but where a choice has to be
made it's made in favor of pixel precision.
-
Alpha channel
The alpha channel is important for textures in modern games so there must be easy and powerful ways to edit it.
- The alpha channel is always enabled and always there. It's only lost when saving to a file format that doesn't support it.
- The alpha channel can be treated exactly the same as the R, G and B channels, and can be edited by any tool
- Alpha channel and opacity are two different things in LodePaint. Opacity is always a separate setting than the alpha channel of the current tool color.
- No confusing layers If layers are implemented (they are not yet) then they shouldn't cause confusing behaviour
when you're not actually using them. That means:
- If you didn't make multiple layers, there won't appear multiple layers. Floating selections aren't layers, nor are geometric primitives or texts.
- Cropping and resizing should work on the entire image by default, independent of layers, unless a command to do it only on the current layer is specifically enabled.
- There should never be drawn something that looks like a selection rectangle around a layer or an image. A white/black dotted line is reserved only for selections to avoid confusion.
- Handy zooming Zooming should work around the mouse cursor instead of around the center of the image, should work at any time
and be easy with the scrollwheel of the mouse. Toolbar buttons and zoom tools might be available for those unconventional mice without scrollwheel, but a user with scrollwheel would rarely need these tools.
- Tileable images There should be features to edit tileable images and textures. For example, the "wrapping" option in various filters, and such operations as "Wrapping shift 50%" and "Repeat"
- Independent This program is as independent as possible from large programming libraries. No GUI library like GTK+, Qt or MFC is used, nor imaging libraries such as ImageMagick or compression libraries like zlib or libPNG. Many features are programmed from scratch instead. The libraries that are used are: SDL, OpenGL, optionally Boost, in Windows a small amount of Win32 calls, in Linux a small amount of X11 calls.
Features that aren't the focus of this program.
The following features are not part of the design goals of this program, or are not important enough to counter their difficulty of implementation.
Some of those missing features have a convenient alternative that is noted in the points below.
-
Drawing Tablets, Touch pads, Multi-Touch and non-conventional mice.
Sorry, this program supports only a conventional mouse for now. Preferably a mouse with at least a left button, right button, scrollwheel and option to press the scrollwheel (= third button).
Alternative devices might be supported later though, if portable libraries (preferably for SDL) are found. For now these aren't the focus of the programming effort though.
-
Print option
It's not really worth it to try to find a portable way to have a Print dialog in this program and send the image to the printer. You can save
the image to a PNG file with the program, and then just print it with the tools available by your operating system (such as the picture and fax viewer, kuickshow, ...)
-
Import Screenshot option
Not portable enough. But on most operating systems it is already possible to import a screenshot anyway: just hit the print screen button of the keyboard, or
ctrl+print screen or alt+print screen, and then press "CTRL+V" or the "Paste" button in LodePaint and if your operating system
supports it, the screenshot will be available in LodePaint.
-
Import from scanner
Not portable enough. But it's easy to edit a scanned image. Use the software that came with the scanner to scan the image, save it to
a file, and then open this file with this painting program to edit it.
-
Thumbnail browsing of images
It's quite a lot of work to implement. Most operating systems have a file manager that supports thumbnail browsing. So it's not really
the purpose of this painting program to also do that.
-
One-click retouch functions
This program focuses on "doing the math yourself" and a combination of various general purpose filters instead of specialized single-purpose filters.
-
Clip art data
A user can use his own favorite preferred clipart database. Effects like a brush that adds coins to the image
or add a predefined wooden photoframe around it aren't included because these rely on a predefined image data and
it's not good if everyone creates the same thing...
-
Features such as "Send picture through email", "Upload image to ..."
It's not the responsability of a painting program to do that. You can save the image to a file and then use a web browser
or email client to mail/upload the image, or do anything else with it.
-
Color callibration, device independent colors, ...
Since the main purpose of this program is to create textures and images for the computer screen,
plain RGBA color is used, to get the RGB(A) color values needed for web images and computer game textures. This program isn't meant to be used for publishing and printing.
-
Dots Per Inch units
The focus of LodePaint is on editing digital raster images made out of pixels. What the physical size of a pixel is, has no influence
or meaning in LodePaint, since LodePaint isn't made for publishing or printing. All sizes and distances are measured in pixels. There are no dpi options or units.
-
Certain image file formats
I've studied various libraries that are able to load/save gigantic amounts of image formats, but to keep LodePaint more
independent from large libraries, only image formats for which small (preferably single source code file), free to use (or made by me), C/C++ code is available
are supported. Currently this are PNG, JPEG (only reading), BMP, TGA, and Radiance RGBE. Other file formats might become
available as plugins instead.
-
Editing indexed color images with palette
When an indexed color image is opened with LodePaint, it is immediatly converted to full color 32-bit RGBA. Editing images in indexed color
mode, or editing the palette, isn't supported. Most filters and tools couldn't possibly operate on them anyway. LodePaint does have a few
filters that can reduce the amount of colors in the image (such as dithering, posterization, ...), but they'll still be saved as 32-bit (or 128-bit). If palettized images are needed for your purpose, save them as 32-bit with LodePaint, then convert them to indexed color with another program.
Legal Stuff
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Copyright (c) 2009-2010 by Lode Vandevenne.
Note: No images? Get the full manual at http://sourceforge.net/projects/lodepaint/files/LodePaint_Manual_Full.zip/download/. The full manual with images is released separately because the images filesize is larger than that of the program!