Difference between revisions of "LazPaint"

From Lazarus wiki
Jump to navigationJump to search
(→‎Filter commands: add some new)
(command line move)
Line 10: Line 10:
  
 
[[LazPaint Edit|Selection]]: select parts of an image with antialiasing and modify the selection as a mask.
 
[[LazPaint Edit|Selection]]: select parts of an image with antialiasing and modify the selection as a mask.
 +
 +
[[LazPaint Command line|Command line]]: call LazPaint from a console.
  
 
=== How to use it ===
 
=== How to use it ===
Line 110: Line 112:
 
* Cylinder : cylinder projection
 
* Cylinder : cylinder projection
 
* Clouds : add clouds of the current pen color
 
* Clouds : add clouds of the current pen color
 
=== Command line ===
 
 
General use :
 
lazpaint inputfile [/command1 [/command2...]] [outputfile]
 
 
On Linux, the command prefix is '-'.
 
on Windows, the command prefix can be '-' or '/'.
 
 
==== Line without command ====
 
 
You can omit commands to convert an image to another file format. For example :
 
lazpaint image.pdn image.png
 
will flatten and save a Paint.NET image into a PNG.
 
 
==== Line without output file ====
 
 
If you do not specify an output file, the application is opened with the resulting image. For example:
 
lazpaint image.png /RotateCW
 
will open the image with a 90° rotation.
 
 
==== Line without input file ====
 
 
You can also create an image out of nothing. For example :
 
lazpaint /New(800,600) /Gradient(255,255,255,255,0,0,0,255,Linear,0,0,800,600) blackwhite.png
 
will create an image with a black and white gradient and save it into blackwhite.png.
 
 
==== General commands ====
 
 
Here is the list of supported commands :
 
* /HorizontalFlip : flips image horizontally
 
* /VerticalFlip : flips image vertically
 
* /SwapRedBlue : swaps red and blue channels
 
* /RotateCW : rotates image clockwise
 
* /RotateCCW : rotates image counterclockwise
 
* /Resample(Width,Height: Integer) : resample image to Width x Height
 
* /Opacity(Value: Byte) : applies a global factor to opacity
 
* /Gradient(red1,green1,blue1,alpha1,red2,green2,blue2,alpha2: Byte; type; x1,y1,x2,y2: Single) : draws a gradient. Type can be Linear, Reflected, Diamond or Radial.
 
* /New(Width,Height) : creates a new empty image of Width x Height
 
 
For example :
 
lazpaint bigimage.bmp /Resample(320,200) smallimage.png
 
will save a small copy of bigimage.bmp into smallimage.png
 
 
==== Filter commands ====
 
 
You can apply filters with default values. Here is the list of filter commands:
 
 
'''Blur filters :''' BlurPrecise, BlurRadial, BlurFast, BlurCorona, BlurDisk, BlurMotion, BlurCustom
 
 
'''Pixel filters :''' Sharpen, Smooth, Median, ClearType, ClearTypeInverse, Emboss, Contour, Grayscale, Negative, LinearNegative, ComplementaryColor, Normalize, SmartZoom3
 
 
'''Deformation filters :''' Sphere, Twirl, Cylinder, Plane
 
 
'''Rendering filters :''' PerlinNoise, CyclicPerlinNoise, Clouds, CustomWater, Water, Wood, WoodVertical, Plastik, MetalFloor, Camouflage, SnowPrint, Stone, RoundStone, Marble
 
 
For example :
 
lazpaint photo.jpg /Contour /Emboss /Normalize
 
will transform the image into a carved stone.
 
  
 
[[Category:Example programs]]
 
[[Category:Example programs]]
 
[[Category:Graphics]]
 
[[Category:Graphics]]
 
[[Category:LazPaint]]
 
[[Category:LazPaint]]

Revision as of 08:48, 3 May 2014

LazPaint is an image editor with layers and transparency. It supports the format OpenRaster so it can interoperate with MyPaint, Gimp and Krita.

lazpaint preview.jpg


The underlying graphic library BGRABitmap was started to provide advanced drawing in Free Pascal with Lazarus. In order to show the capabilities of the library, I started LazPaint. Finally it became real image editor and a source of improvement for the library BGRABitmap.

Features

File formats: read and write a variety of file formats, including layered bitmaps and 3D files.

Selection: select parts of an image with antialiasing and modify the selection as a mask.

Command line: call LazPaint from a console.

How to use it

Useful keys

  • Maintaining Space key down switches temporarily in move mode
  • F6 key hides/shows all tool windows
  • Ctrl key aligns to image pixels and limits possible angles with rotation tool
  • Backspace key erases last point in a polygon or last letter in a text
  • Enter key releases selection

Right mouse button can be used to:

  • Swap drawing colors temporarily
  • Subtract from selection (selection tool)
  • Define light position (shaded text, shaded shapes)
  • Finish a shape (polygon, curve)

Tutorials

Video tutorials are available on Youtube :

Download

Support this project

Binaries can be downloaded on Sourceforge for Windows and Linux.

http://sourceforge.net/projects/lazpaint/files/bin/

Source code

The source code can be downloaded as zip files. Here you will find LazPaint and BGRABitmap:

http://sourceforge.net/projects/lazpaint/files/bin/

Here is a mirror of LNetVisual: http://sourceforge.net/projects/lazpaint/files/src/inet0.6.6.zip/download

Dependencies: - LazPaint depends on BGRAControls, BGRABitmap and LNetVisual. - BGRAControls depends on BGRABitmap.

You can download the source code and compile it for a specific platform. MacOS version is a bit experimental, to compile it, it is necessary to remove the dependency to LNet package.

Screenshots

Lazpaint curve redim.png

Interface

Many common actions can be done with the toolbar. Zoom can be changed with the magnifying glass (+ or -), or by clicking on the 1:1 button to show the image at its original size in pixels, or with the zoom fit button to set the zoom so that the whole image be within the window.

It is possible to undo/redo the 200 last operations. If you have a doubt on what you are drawing, undo back to the beginning, save a copy, and redo the modifications before going further.

Windows

The main window allows to draw, and there is also a color circle window and a toolbox. Use the color circle window to select a color, its luminosity and its opacity. The toolbox offers a wide range of drawing tools and selection tools.

Image manipulation

An image can be resampled, flipped horizontally and vertically.

Smart zoom x3 : resize the image x3 and detects borders; this provides a useful zoom with ancient games sprites.

Color manipulation

  • Colorize : set the color of an image while preserving intensities
  • Shift colors : cycle colors and change colorness (saturation)
  • Intensity : make colors lighter or darker without making them white
  • Lightness : make colors lighter or darker by making them whiter
  • Normalize : use the whole range of each color channel and alpha channel
  • Negative : invert colors (with gamma correction)
  • Linear negative : invert colors (without gamma correction)
  • Grayscale : converts colors to grayscale with gamma correction

Filters

Filters can be applied to the whole image or to the active selection.

  • Radial blur : non directional blur
  • Motion blur : directional blur
  • Custom blur : blur according to a mask
  • Sharpen : makes contours more accute, complementary to Smooth
  • Smooth : softens whole image, complementary to Sharpen
  • Median : computes the median of colors around each pixel, which softens corners
  • Contour : draws contours on a white background (like a pencil drawing)
  • Emboss : draws contours with shadow
  • Sphere : spherical projection
  • Cylinder : cylinder projection
  • Clouds : add clouds of the current pen color