Tuesday, April 21, 2020

Fixing version 7.1.1

Some bugs have been found in the latest version, so I am fixing those. It is frustrating that even if alllocating time to test, some bugs still slip through. Maybe having a longer test period next time?

Friday, April 10, 2020

LazPaint 7.1.1

 Using texture filling with shaded shapes 

What's new compared to version 7.0.7

Files
  * read/write support for WebP images using libwebp
  * read support for RAW images using dcraw
  * read support for Portable Any Map (PBM, PGM, PPM)
  * fix loading PDN images
  * show progress of loading/saving/actions on layered images

Interface
  * less flickering during action progress
  * minor scaling improvements
  * dark theme for status bar
  * add Donate tool button
  * separate color for background and outline
  * fix remember save file extension

Tools
  * fix updating transparent colors
  * fix release of middle mouse button
  * fix gradient undo/redo
  * optimize layer transform
  * scripting in Python
  * script for layer effects: color overlay, drop shadow, inner light, stroke
  * more scripts: split/merge channels, mask
  * vectorial tools: gradient and texture fill for vectorial shapes
  * paste vector shapes within visible bounds
  * align to pixels when image is not zoomed
  * grouping of tool items in toolbar
  * added polyline and opened curve tool
  * pen tool: SHIFT click to retrieve color, ALT+wheel to change width
  * selection pen tool: add antialiasing option
  * color picker: SHIFT click to retrieve color of flattened image
  * eraser tool: added lighten, darken and sharpen modes
  * floodfill tool: makes vector original on an empty layer, preserve vector layer
  * edit shape tool: show shape information
  * edit shape tool: multiselection of shapes
  * polygon tool: highlight hovered point, arrows to move points
  * text tool: added font aliasing option
  * text tool: fix handling of keys
  * gradient tool: replace layer by gradient if it is opaque

Windows
  * ensure toolwindows in front when restoring app
  * palette: indicate last added color in palette
  * palette: fix scroll bug
  * color window resizable
  * color and layer windows dockable to main window
  * don't undock windows when going fullscreen
  * adjust more windows to system DPI
  * adjust curves: show source histograms
  * filter function: optimize, add Lab colorspace, add min/max/avg
  * blend operations: add Saturation (HSL) and Mask blend operation

Translations
  * added Latvian
  * completed Kabyle and Bulgarian
  * added Kabyle language
  * updated Swedish translation

Miscellaneous
  * rendering optimizations to reduce slowdown with big images
  * fixes for image browser
  * command line: parenthesis optional to make it Linux-friendly 

Saturday, April 4, 2020

New beta version LazPaint 7.0.9

Many features that I talked about in the previous post have been implemented. I feel like the software is complete enough to be released. To check the latest version see:
https://github.com/bgrabitmap/lazpaint/releases

Regarding colors
  • splitting channels into RGB/HSL : that can be done using the Script menu.
  • lighten/darken mode has been added to the eraser
  • picking up color by holding the SHIFT key when using a pen or a brush tool 
 Regarding vectors
  • vectorial multi-selection in the edit shape tool (holding CTRL to select more shapes)
  • adding holes in a polygon using SHIFT-click
 Regarding layers
  •  layer effects are available in the Script menu (drop shadow, inner light, inner shadow, color overlay, stroke)
  • alpha mask can be added in the layer stack using Script menu, though it is not associated with a layer in particular, it is applied to all layers underneath
Regarding interface
  • tools items are grouped. The group is shown when hovering the tool icons.
  • pen width can be changed using ALT + mouse wheel.
  • layers and colors are finally docked inside the main window
  • image can be exported without changing the current filename (File > Export)

Monday, October 14, 2019

Possible enhancements for future versions

There are more than 20 possible enhancements that have been suggested and that I've listed in the "issues" tab of LazPaint's repository:
https://github.com/bgrabitmap/lazpaint/issues

Regarding colors:
  • L*a*b* color adjustment
  • Split/join RGB/HSL channels
  • Lighten/darken mode (maybe in Eraser tool?)
  • Pick up color without having to change current tool
  • Palette edition that would preserve color indices
Regarding vectors:
  • Vectorial selection (to allow to save a polygonal selection for example)
  • Vectorize a layer, i.e. transform a raster layer into polygons that matches the drawing
  • Interface for pen and background gradients and texture (it is implemented in the library so it is just the interface to do)
  • improve text toolbar (RTL text, editing font family directly)
  • Allow to draw sub polygons (to make multiple polygons or to make a hole in a polygon)
Regarding layers:
  • layer effects
  • layer groups
  • alpha mask
  • export/import layer stack as a series of GIF/TIFF frames
  • move, reorganize frames in GIF or TIFF
Regarding interface:
  • group items in toolbar to save up space
  • customize toolbars
  • change pen width with wheel
  • dock layer window and color window
  • export image (while keeping current filename)
More general features:
  • scripting language (Python?)

I am thinking of prioritizing each feature according to various considerations:
  • How much time would it take to implement it: if it is easy to implement, I can do it by taking a bit of time here and there. Otherwise, if that's a lot of work, I need to look at other considerations.
  • How essential they are to make the program complete. For example, as the program supports now vectors, it is kind of logical to do the vectorial selection. Another example is docking the layer stack. That's a basic feature that is kind of lacking for people that are used to this kind of layout.
  • How much value would it bring to the software. For example, vector effects would really be a great feature by allowing quickly modify a file, without having to regenerate extra layers manually.

LazPaint v7.0.7 (bug fixes, vector edit improvement)

New version 7.0.7 with bug fixes. I recommend to update.
There are as well various improvements. In particular, it is possible to merge vector layers while keeping vectorial information, one can select very thin shapes (thanks to a margin for the click) and the edit shape tool has been improved to work in more cases.

Nouvelle version 7.0.7 avec des corrections de bugs. Je vous recommande de mettre à jour.
Il y a aussi diverses améliorations. Notamment on peut fusionner des calques vectoriels en gardant l’info vectorielle, on peut sélectionner des formes très fines (une marge pour le clic est admise) et l’outil d’édition de formes vectorielles a été amélioré.

Thursday, September 12, 2019

New stable version of LazPaint 7.0.6

A new version of LazPaint is at last available. It has vector shapes, though gradients within shapes are not supported yet. Apart from that, you can edit shapes after they are drawn, move them over/under other shapes within the layer, etc.

Download

When editing a shape, there are control points. Pressing SHIFT or ALT will give you alternative effect of those points. In particular, with ALT, corner points allow to rotate and resize, and side points allow to shear, i.e. move one axis relative to the other one to draw a parallelogram.

If that's not enough, you can transform a shape into a curve, and then add or remove points. The key Delete will delete the point you are hovering and the keys Insert or I will insert a new point at mouse location.

Support for ICO, GIF and TIFF has been improved. It is possible to edit/add/remove frames within those files. Also TIFF support a wider variety of pixel formats.

A dark theme is available, in case you work at night or just like it darker. The workspace color can be defined.



Tuesday, February 5, 2019

Vector layers


Vector tools have been developped in a piece of separate software. Now I am making LazPaint compatible with those new vector layers. So that they can be loaded, moved and rotated. Also SVG files can be loaded as vectorial. In the example below, the background and the bottle were made in the vector program and the music symbol is one SVG that is duplicated and moved around.
Les outils vectoriels ont été développé dans un logiciel séparé. A présent, je rend LazPaint compatible avec ces nouveaux calques vectoriels. Ainsi ils peuvent être chargés, bougés et tournés. Les fichiers SVG également peuvent être chargés en vectorial. Dans l'example ci-dessous, le fond et la boutille sont faites avec le programme vectoriel et le symbole musical est un SVG qui est dupliqué et déplacé.