Imagemagick useful cmds: basic bash select, image resize, crop, creation


Imagemagick adapted personal notes.

Most times when I want to do something on several images I use artscript, a small GUI tool to automate most common, and not so common, imagemagick operations. It makes a breeze to prepare a set of images to display on one or several output sizes and formats. artscript backbone is imagemagick command line program, mainly what artscript does is compose the command line option to make imagemagick do its thing.

The remaining times artscript doesn’t fit my imagemagick needs I find it useful to remember the following commands.

General image selection

Use terminal utilities to filter the wanted images and feed the result to either *xargs* or a *for/do loop*. The most common utilities, and easier to remember are: ls and find.


List all files in a directory, using wildcards from bash its possible to filter the results easily.

 $ ls *.png ## list all png
 $ ls draw_*.jpg ## list all jpg starting with 'draw'


For queries more complex or uncertain I use find. find queries can be very complex on its own

$ find . -name '*.ora' ## finds all file and dirs ending with '.ora' (used * wildcard again)
$ find . -type f -name '*.?[pn]?' -ctime -30 ## finds all png and jpg files in current dir created in the last 30 days.

## spaces in characters will break the pipe, use print0 to feed xargs
$ find . -name '*.jpg' -print0

When doing a for loop its not necessary to use xargs, and its possible to feed the bash mini script with patters, this is specially usefull when you know exactly the image you are going to process.

## Inspect all files patterns between 044, 045, 046.. until 050.
## any command can go after the do.
$ for f in 14_{030..050}.ora ; do file $f; done

## Using xargs
$ echo 14_{030..050}.ora | xargs file

Creating Images

Continue reading

Painting with index colors filter



Working with index color filter, described here, can be confusing. The filter works so slow (in my pc) that getting results just by moving sliders is a waste of time. Some things are good with the tool and some others are hideous. I wanted to work with index colors to get the messy pixely effect and also using live filters to edit anything later (if it’s needed). here are some notes on the tools to avoid future headaches.14_189fs_netAbove: my result. Used the same layer setup as in the video here (whoppix was very kind to share the file). To control a little better the output. I worked in gray scale all the way and used 4 main groups. Background, Clothes, Skin, Hair. The idea at first was to use a different colour on each section and a slightly different dithering effect on each.

Layer Stack description (As in source file)

Set a group for each dithered object you need. each group act as an isolation environment so its possible to get different colors and dithering patterns on different elements in canvas.

  • Top layer: Dithered filter
    – Ramps: Brigth 3 colors, Light, base and Dark 1 color each
    – Diagonal Grafients ON
    – Gradient steps: 3 / L 4 / B 5 / Shadow 5
    – Limit to:  Indexing factors ( move at will)
    -Alpha steps 1
  • Group Layer: Dither layers (Op: 16%)
    Grayscale texture dither patterns
  • Paint layer. This is the where the object is made.

On Dither patterns and textures

Layer must have opacity lower than 20 to add the effect without interfering with the painting itself. If it is too high the pattern will become the painting instead of just dithering the gradients. You can use any data as dithering patterns. I only tested grayscale layers and different types of layer content. From what I can observe:

  •  Sharp pixel shape patterns with different gray values work best
  • Its possible to use krita painting brush patterns to add dither, results are more or less nice. (Used on the background)
  • Add any image texture and tweak values to make nice dither. This came come from a photo or a painting. Krita grayscale patterns enter this category
  • Use a brush engine to generate Texture. this is trickier since you need to generate an organic pattern for it to look good. (Ramon miranda’s hairy brush set works extremely well for this.)

Brush engines tested and settings

Painting with Brush patterns Grayscale textures: Set Cut Off Policy to “Brush” and set arrows. black on middle, white closer to edge.
Painting with spray to generate dither:
Spray brush:
Size off
Shape dynamics, Random size?
Paint mode BuildUp, (Wash with Random Opacity in “Color options” doesn’t seem to work)
Spray area: Diameter, Scale, Particle count alter the way the dither is “rendered”
I ended up using Turning off: Spray Shape and setting the brush set tip to 1px, more or less.
Hatching brush: Ok This one works very well for creating gradient dithering. however the results are hard to control
Hair brush: Very Good, just lower opacity to control texture amount
I have: Opacity 94%, Ink depletion: ON (1024, opacity)
Sketch brush: Could work
Brush size: Offset scale above 80%, density low, Ucheck “use distance density”, Uncheck “Magnetify”

Speed problems?

Live filtering is very slow at the moment, to avoid the trouble of working at snail speeds get used to work in Grayscale (values only) and turn on index colors filtering for fine adjustments.

Controlling color output


This is a tricky business. I tried many different variations and I could obtain the same color combinations from different color mixtures in the dark, base, light, bright color swatches.
The colors provided by default work well as long as you don’t alter the value. In other words they will affect the gradient at the same bright tones as long as you don’t alter the value setting.
In the end I made the following process
  • Removing all swatches and leaving base will create a cut out shape with the color selected.
  • Add then a light tone for getting gradient variations. The colors are not exactly the ones you picked, but very close
  • You can use second and third rows, jumping wrows will make a strong gradient effect. however use with care as activating them might cause unwanted color shifting.
  • Color value is everything. Add a Bright tone with very dark value and you will affect the dark tones. Add light value to Dark column and highlight will get colored, despite being in the dark column. Not sure if this is a bug but, use this to your advantage to fine tune dark tones a little bit in the end.
  • Because of the former point, have some order, using values from light to dark, top to bottom.
  • Activate diagonal gradients to use any column and get mostly the same effect as if you were using only one column. I have to investigate this further as the option might imply some other things.

Adding screenshots showing color mixing variations.



The results from this technique are strongly dependant on your value mastering and for more aesthetically appealing picture you have to prepare a nice set of patters and use them with care. Failing to do so will result in a muddy picture with no volume and zero flow on forms. Very difficult indeed to get. My pictures ire nowhere near that level. Finally, while the results are satisfactory I still need to master the coloring mistery for selecting the exact colors I want. I could help to set a gradient inside the affected area to help selecting the color ramps. In the end I had to use level and color balance to get a brighter look on the first image.

Second image was better controlled in respect to color setting in the filter. I started working on it with the experimental brush to focus only on hard shapes. Abusing Krita layers ystem I worked as with the red marker and light yellow for the background, cloned the resulting group layers. Added those clones to the indexed layer and toyed with the index filtering colors.

Get the Source files

[es] Esta semana en krita — semanas 25 y 26


Estas semanas han sido emocionantes con la campaña de kickstarter acercándose más y más al objetivo. Al momento de escribir este artículo estamos pasando 13k. Y con la nueva oleada de usuarios, atraídos por la gran labor de colaboradores y entusiastas en la difusión de la misma, hemos estado muy ocupados trayendo nuevas versiones de prueba y desarrollando nuevas funcionalidades.

Antes de entrar de lleno a lo nuevo, no puedo dejar de mencionar a Ramón Miranda que, con el objetivo de difundir mejor las capacidades de Krita para aquellos que escuchan del software por primera vez, ha creado una serie de video tips: Introducciones cortas a diversas funciones avanzadas y fundamentales dentro del software. Aún para los iniciados es un buen recurso, al menos yo aprendí un par de cosas que no conocía. Todos los tips en el post de kickstarter Ramon youtube channel

Progreso semanas 25 y 26

Entre las cosas más destacarles podemos citar los importantes esfuerzos de Boud por crear un entorno de construcción que permita crear eventualmente una versión de prueba para los usuarios en OSX. Aún en fase experimental, el avance es bueno logrando compilar el programa, y hacer que funcione. Por supuesto esto está lejos de ser una versión para distribuir, pero si recordamos como empezó la versión de Windows, es una gran señal.

Somsubhra, desarrollador de la versión Krita Animation, ha añadido, entre muchos arreglos de fallos, un primer esbozo de un reproductor para las animaciones hechas. Se puede ver más en el video adjunto.

Continue reading

Krita Fundraiser campaign!


Krita Fundraiser campaign!

Hola. Fue en 2012 que comencé a usar Krita para pintar. En ese entonces usaba la versión 2.5 en Windows, aunque por momentos se cerraba, era la primera aplicación de pintura digital donde realmente me sentí cómodo. Tanto me gustó que hoy día es casi la única aplicación de pintura que uso.

Hi. It was 2012 when I began using Krita painting app for painting. Back then I used version 2.5 in Windows, sometimes it would magically close and get laggy, but it was the first digital paint application I was truly comfortable.

Mucho ha avanzado el proyecto desde ese momento hasta el día de hoy: En primera. La versión de Windows es estable, y soporta la mayoría de modelos de tableta compatibles wintab. Aunque admito que aveces leo por ahí de ciertos detalles, en tabletas raras o muy nuevas en el mercado. Segundo. La cantidad inmensa de funciones, nuevas, mejoradas, arregladas, aceleradas; es inmensa. Entre krita hoy y krita hace 2.5 años la diferencia en funciones y rendimiento es basta. Si así es hoy, !Cómo me comen las ansias de saber como será en 3.0 años en el futuro!

A lot has changed since that time until today: First, Windows version is stable and tablet support is incredible, supporting almost all models available out there. Sure there are some strange brands, or new models from known brands, misbehaving, but is getting less and less common to see. Second, the amount of features new, fixed, improved, optimized; is huge. Between krita 2.5 years ago and krita today the difference in features and performance is vast. If today is like this, compared to yesterday, I can’t wait to see how it would be 3.0 years in the future!

El trabajo se realizó a un ritmo tan acelerado por la participación de Dmitry como desarrollador de tiempo completo de parte de la Fundación Krita. Y como queremos tenerlo de vuelta, lanzamos la campaña de recaudación kickstarter. La campaña busca no sólo repetir el éxito de krita 2.8 sino mejorarlo trayendo a 2 desarrolladores tiempo completo para Krita.

Development happened at such high speed because of the full time developer, Dmitry, from Krita Foundation. And because we want to have him for another year (Sorry Adobe), we launched the kickstarter campaign. The campaign seek no only to repeat last years performance but to improve it taking not one but 2 full time developers.

Habrán notado que me refiero al proyecto en primera persona del plural. No, no lo hago siguiendo un manual de mercadotecnia ni para confundirlos. La comunidad alrededor del proyecto es tan abierta, que no importando las capacidades individuales siempre se encuentra la manera de incorporarlas de manera positiva. Hasta me han permitido modificar algunos detalles de ui, disponibles en git master😀

You may notice I talk about the proyect using “We”. No, I am not following a marketing guide, nor is it to confuse or annoy. The community around Krita is very open. It’s so open that no matter what individual set of skill you carry, it will find a way to incorporate them in a positive manner. They have even let me modify some details at the UI, available in git master😀. Those details is all I have sent for the moment.

¡Vayan y aporten! Lo que viene es aún mejor.

Go and pledge! What is to come is even better.

Krita Fundraiser campaign!

Sketch Dump: March 2014


I had to rest a lot this month, It seems when I use a tablet I use a repetitive unnatural movemtent to draw (Short inwards wrist movements). Over the hundreds of drawings that began causing a tendon wear out. Before it develops any further (even to a tendinitis) I rested. Between rests  I tried several ways of working but I kept going back to the short movements. In the end the only thing that seems to be working is tilting the tablet and draw more in paper.

Here is the sketchdump of all drawings made with the tablet. I focused on finding my creativity and learning a bit of technical stuff. The drawings offer little technique variety, they are low on composition values and overall few men were amongst the drawing subjects. Overall this month was not very productive.

The sketches

Some are referenced from other artists artwork, a lot are build from reference, and only few are completely invented.

Krita tip: Ease setup 1 point perspective assistant


Going trough a perspective course at Crimsom Daggers I decided not only to make the exercises but to get them to a certain level of presentation. (I keep the sepia like scheme as I find out I can work for larger periods of time with it).

Using Krita assistants tools not only allows for faster work but also cleaner and more organized look. For diagonals outside the grid I switched to the line tool.  I used a few layers to organize shapes and soften most construct lines and some masks to keep lines from overlapping.


Setting up a grid

Setting a one point perspective grid is super easy with some planning. The following short video will show you the steps to achieve it.

The most important thing to remember:

  • Set an outer square area to align the cage outer sides
  • Draw an inner area to to align the inner cage points, this is important as it’s impossible for the perspective assistant corners to snap at a single point (The perspective assistant breaks).

The file

The zip file contains the KRA original file and a .krassistant file to load with the assistants docker. You can reuse the krassistants grid adjusting the corners to the size you need. Get the file!


Wish list: Krita assistants


Krita assistans tool is quite powerful for helping you in making technical drawings, they look so simple and yet with a bit of planning you can setup almost all of your perspective needs. Here below a video of me doing some work. Its in real time so you can see how and when I used the assistants.

Finished sketch

Finished sketch

I’m still not a power user of this tool, however after using it so much lately I have found a few annoyances and wishes for some features.

There are, at the time of this writing, four types of assistants which are.

  • Ellipse: Helps you create circles and ellipses
  • Spline: Allows to create a controlled curve
  • Perspective: Allows to create a perspective grid (This on is special since brushes can react to this perspective grid)
  • Ruler: Just like the Line tool, but here you can fine tune the line as you draw over it.

This short list allows to make complex setups, and while it takes a bit of time to make them just right, it allows for finer control over the lines you are going to get. I believe this approach is very powerful once a few shortcomings are resolved. Below I list the bugs I’m getting as well as a few wishes for making assistants a bit more complete.

[Keep reading]

Sketch dump February 2014


Most of the february sketches are here. In march I need to do more:

  • “We need more men”
  • More stock variety
  • Composition++
  • Coloring practice
  • And a lot more Finished pieces.

Some of the below sketches are referenced and some others are not. It’s quite easy to spot them as most of the characters from stock used on the reference drawings are very repetitive.

The sketches:

Special thanks to all deviantart stock used which mostly are: tasastock, imperialstarletstock, ravenofthenight, 13-melissa-salvatore, mostlyguystock and skydancer-stock