Manual d'usuari

Descobriu les característiques del Krita amb el manual en línia. Us guiarà per ajudar-vos en la transició des d'altres aplicacions.

Contingut:

Com començar

Instal·lació

Començar amb el Krita

Conceptes bàsics

Navegació

Introducció venint des d'un altre programari

Introducció al Krita si es ve del Photoshop

Introducció al Krita si es ve del Paint Tool Sai

Dibuixar en tauletes

Què són les tauletes?

Controladors i sensibilitat a la pressió

On pot anar malament: Windows

Tauletes Wacom

Tauletes acceptades

Carregar i desar els pinzells

El llistat dels ajustaments del pinzell

Crear un pinzell predefinit

Compartir els pinzells

Editor de pinzells en el llenç

Eines d'emmirallar

Emmirallar al llarg d'una línia de gir

Pintar amb assistents

Tipus

Ajustar el Krita per a perspectives de dibuix tècnic

Treballar amb imatges

Què contenen les imatges?

Metadades

Mida de la imatge

Autor i descripció

Escapçar i canviar la mida del llenç

Canviar la mida del llenç

Desar, exportar i obrir fitxers

Plantilles

Plantilles per a còmics

Plantilles per al disseny

Plantilles per a rèflex digitals

Plantilles per a textures

Introducció a les capes i les màscares

Gestionar les capes

Tipus de capes

Com es componen les capes en el Krita?

Heretar l'alfa o retallar les capes

Màscares i filtres

Seleccions

Crear les seleccions

Editar les seleccions

Eliminar les seleccions

Modes de visualització

Màscara de selecció global (pintar una selecció)

Seleccionar des de la transparència de la capa

Tipus de selecció amb píxels i vectors

Dreceres comuns mentre s'empren les seleccions

Crear scripts en Python

Introducció a la creació de scripts en Python

Com crear un connector en Python per al Krita

Gestionar les etiquetes

Afegir una etiqueta nova per a un pinzell

Assignar una etiqueta existent a un pinzell

Canviar el nom d'una etiqueta

Suprimir una etiqueta

Provatura suau

Avís de fora de la gamma

Gràfics vectorials

Què són els gràfics vectorials?

Eines per a la creació de formes

Organitzar les formes

Editar les formes

Treballar conjuntament amb altres programes

Ajustar

Animació amb el Krita

Corbes d'animació

Flux de treball

Introducció a l'animació: Com fer un cicle de caminar

Importar fotogrames d'animació

Referència

Plantilla per a animació japonesa

Estructura bàsica de les seves capes

Contingut de la capa

Passos bàsics per a crear animació

Com començar

Us donem la benvinguda al manual del Krita! En aquesta secció intentarem que aneu més ràpid.

Si esteu familiaritzat amb la pintura digital, us recomanem que doneu una ullada a la categoria Introducció venint des d'un altre programari, la qual conté guies que us permetran anar més ràpid amb el Krita, comparant les seves característiques amb altre programari.

Si sou nou en l'art digital, simplement comenceu amb Instal·lació, la qual tracta sobre com instal·lar el Krita i continueu amb Començar amb el Krita, la qual ajuda a crear un document nou i desar-lo, els Conceptes bàsics, on intentarem cobrir ràpidament les grans categories de funcionalitats del Krita, i finalment la Navegació, la qual us ajudarà a trobar ajuda en l'ús bàsic, com ara la panoràmica, el zoom i la rotació.

Quan ho tingueu dominat, podreu consultar les pàgines dedicades a la introducció per a la funcionalitat a la pàgina Manual d'usuari, llegiu a través dels conceptes generals que hi ha al darrere de la pintura (digital) a la secció Conceptes generals o simplement cerqueu al Manual de referència pel que fa a un botó específic.

Contingut:

Instal·lació

Començar amb el Krita

Conceptes bàsics

Navegació

Instal·lació

Windows

Els usuaris de Windows poden descarregar les últimes versions des del nostre lloc web [https://krita.org/download/]. Feu clic a 64 bits o 32 bits d'acord amb l'arquitectura del vostre sistema operatiu (SO). Aneu al directori de descàrrega del KDE [https://download.kde.org/stable/krita/] per obtenir la versió del fitxer ZIP portable del Krita en lloc de l'instal·lador «setup.exe».

Avís

El Krita requereix el Windows Vista o més recent. USUARIS DE TARGETES GRÀFIQUES D'INTEL: SI VEIEU UNA FINESTRA NEGRA O BLANCA: ACTUALITZEU ELS VOSTRES CONTROLADORS!

Linux

Moltes distribucions de Linux inclouen la versió més recent del Krita. De vegades haureu d'habilitar un repositori addicional. El Krita s'executa bé sota els escriptoris: KDE, Gnome, LXDE -tot i que és una aplicació KDE i necessita les biblioteques del KDE-. També és possible que vulgueu instal·lar el mòdul Arranjament del sistema KDE i així ajustar el tema i els tipus de lletra emprats per la IGU, depenent de la vostra distribució.

Extensions de fitxer al Nautilus/Nemo

Ho posem aquí al començament, abans de començar amb les moltes maneres específiques de les distribucions per obtenir el programa en si.

Des d'abril de 2016, el Dolphin del KDE, mostra de manera predeterminada les miniatures KRA i ORA, però el Nautilus i els seus derivats necessiten una extensió. Recomanem les extensions d'en Moritz Molch per a les miniatures XCF, KRA, ORA i PSD [https://moritzmolch.com/1749].

Les «appimage»

Per al Krita 3.0 i posteriors, primer proveu l'«appimage» des del lloc web. El 90% de les vegades aquesta és, amb diferència, la manera més senzilla d'obtenir l'últim Krita. Només descarregueu l'«appimage» i, a continuació, utilitzeu les propietats del fitxer o l'ordre «chmod» de Bash per a fer executable l'«appimage». Feu-hi doble clic i gaudiu del Krita. (O executeu-lo al terminal amb «./nom_fitxer.appimage»).

Obriu el terminal a la carpeta que té l'«appimage».

Feu que sigui executable:

chmod a+x krita-3.0-x86_64.appimage

Executeu el Krita!

./krita-3.0-x86_64.appimage

Les «appimage» són ISO amb totes les biblioteques necessàries a l'interior, és a dir, que no tenen problemes amb els repositoris i les dependències, a costa d'una mica més d'espai al disc (i aquesta mida només seria més gran si utilitzés el Plasma per a iniciar-se).

Ubuntu i Kubuntu

No importa quina versió d'Ubuntu utilitzeu, el Krita s'executarà bé. Tanmateix, de manera predeterminada, només hi ha disponible una versió molt antiga del Krita. Haureu d'utilitzar l'«appimage» o l'«snap» disponible des de la botiga d'aplicacions d'Ubuntu.

OpenSUSE

Les últimes compilacions estables estan disponibles des del repositori «KDE:Extra»:

https://download.opensuse.org/repositories/KDE:/Extra/

Nota

El Krita també es troba en els repositoris oficials, podeu instal·lar-lo des de Yast.

Fedora

El Krita es troba en els repositoris oficials com calligra-krita, podeu instal·lar-lo utilitzant packagekit (Afegeix/Elimina programari) o escriviu la següent ordre al terminal:

dnf install krita

També podeu utilitzar el Centre de programari del Gnome o el Discover per a instal·lar el Krita.

Debian

La darrera versió disponible del Krita a Debian és la 3.1.1. Per a instal·lar el Krita escriviu la següent línia d'ordres al terminal:

apt install krita

Arch

L'Arch Linux proporciona un paquet krita al repositori «Extra». Podeu instal·lar el Krita utilitzant la següent ordre:

pacman -S krita

Podeu instal·lar la versió més recent del Krita utilitzant un auxiliar d'«aur» com ara «aurman». Per exemple aurman -S krita-beta

OS X

Avís

En aquest moment, la versió per a Mac OSX és molt experimental i inestable, no l'utilitzeu amb finalitats de producció.

Si voleu, podeu descarregar l'últim binari des del nostre lloc web [https://krita.org/download/krita-desktop/]. Només s'ha informat que funciona amb el Mac OS X 10.9.

Codi font

Si bé és més difícil compilar el Krita des del codi font que no pas instal·lar-lo des de paquets precompilats, hi ha alguns avantatges que poden fer que l'esforç valgui la pena:

Podreu seguir al pas el desenvolupament del Krita. Si compileu regularment el Krita des del repositori de desenvolupament, podreu jugar amb totes les noves característiques en les que treballen els desenvolupadors.

Podreu compilar de manera optimitzada per al vostre processador. La majoria dels paquets precompilats estan construïts per al denominador comú més baix.

Obtindreu totes les correccions d'error tan aviat com sigui possible.

Podreu ajudar als desenvolupadors fent-los arribar els vostres comentaris sobre les característiques a mesura que es desenvolupen i podreu provar les correccions d'errors per nosaltres. Això és molt important, és per això que els nostres verificadors habituals obtenen que el seu nom figuri al quadre «Quant al Krita» com a desenvolupadors.

Per descomptat, també hi ha desavantatges: quan es compila des del repositori de codi font de desenvolupament, també obtindreu totes les característiques inacabades. El qual pot significar menys estabilitat durant un temps, o es mostraran coses a la interfície d'usuari que no funcionaran. Però, a la pràctica, poques vegades hi ha una inestabilitat dolenta, i de ser així, serà molt fàcil tornar a una revisió que funcioni.

De manera que... Si voleu començar a compilar des del codi font, comenceu amb les últimes instruccions de compilació de l'excel·lent guia il·lustrada [https://www.davidrevoy.com/article193/compil-krita-from-source-code-on-linux-for-cats] per en David Revoy.

Hi ha més informació i ajuda sobre la resolució de problemes al wiki del Calligra [https://community.kde.org/Calligra/Building].

Si trobeu algun problema o si sou nou en compilar programari, no dubteu a posar-vos en contacte amb els desenvolupadors del Krita. Hi ha tres canals principals de comunicació:

irc: irc.freenode.net, canal #krita

llista de correu [https://mail.kde.org/mailman/listinfo/kimageshop]

fòrums [https://forum.kde.org/viewforum.php?f=136]

Començar amb el Krita

De manera predeterminada no hi haurà llenç ni un document nou obert. Per a crear un llenç nou, haureu de crear un document nou des del menú Fitxer. Si voleu obrir una imatge existent, empreu Fitxer ‣ Obre o arrossegueu la imatge des del vostre ordinador cap a la finestra del Krita.

Crear un document nou

Es pot crear un document nou de la següent manera.

Feu clic a Fitxer des del menú de l'aplicació a la part superior.

Després feu clic a Nova. O podeu fer-ho prement la drecera Ctrl + N.

Ara obtindreu un diàleg de Document nou com es mostra a continuació:

El Krita és un programa força complex que admet molts fitxers diferents, de manera que vegem-ho pas a pas:

Document personalitzat

Des d'aquesta secció podreu crear un document segons els vostres requisits: podeu especificar les dimensions, el model de color, la profunditat, la resolució, etc.

En el camp de la part superior de la pestanya Dimensions, podreu definir un nom per al document nou. Aquest nom apareixerà a les metadades del fitxer, i el Krita també el farà servir per a la funcionalitat de desament automàtic. Si el deixeu buit, el document s'anomenarà «Sense nom» de manera predeterminada.

Des de la llista desplegable predefinida podreu seleccionar mides predefinides dels píxels i els PPP (píxels per polzada).

Podeu establir dimensions personalitzades i l'orientació del document des dels camps d'entrada a sota de la llista desplegable predefinida. També es pot desar com a configuració nova amb valors predefinits per al seu ús futur, indicant un nom al camp «Desa com a» i fent clic al botó «Desa».

A sota trobarem la secció Color del diàleg Document nou, on podreu seleccionar el model de color i la profunditat de bits. Per a més informació, vegeu Color Management Settings.

A la pestanya Contingut, podreu seleccionar el color de fons i la quantitat de capes que voleu en el document nou. El Krita recordarà la quantitat de capes que vàreu seleccionar l'última vegada, de manera que aneu amb compte.

Finalment, hi ha un quadre de descripció útil per anotar el que fareu.

Crear des del porta-retalls

Aquesta secció permet crear un document des d'una imatge que hi ha al porta-retalls, com ara una captura de pantalla. Tindreu tots els camps establerts per a coincidir amb la imatge del porta-retalls.

Plantilles:

Es tracta de categories separades en què es proporcionen valors predefinits especials. Les plantilles són només fitxers .kra, els quals es desen en una ubicació especial, de manera que el Krita els podrà treure amb rapidesa.

Podeu crear el vostre propi fitxer de plantilla des de qualsevol fitxer .kra, emprant Fitxer ‣ Crea una plantilla des de la imatge des del menú superior. Això afegirà el document actual com una plantilla nova, incloent totes les seves propietats juntament amb les capes i el contingut d'aquestes.

Un cop hàgiu creat un document nou segons la vostra preferència, ara hauríeu de tenir un llenç blanc al davant (o el color del fons que heu triat al diàleg).

Com emprar els pinzells

Ara, simplement premeu sobre la part del llenç. Si tot és correcte, hauríeu de poder-hi dibuixar! L'eina de pinzell hauria d'estar seleccionada de manera predeterminada quan inicieu el Krita, però si per alguna raó no ho està, podeu fer clic sobre la icona toolfreehandbrush de la barra d'eines i activareu l'eina de pinzell.

Per descomptat, voldreu fer servir pinzells diferents. A la vostra dreta, hi ha un acoblador anomenat Pinzells predefinits (o a sobre, premeu la drecera F6 per a trobar-lo) amb tots aquests bonics quadrats amb plomes i llapis de colors.

Si voleu ajustar els predefinits, marqueu l'Editor de pinzells a la barra d'eines. També hi podreu accedir amb la drecera F5.

Toqueu qualsevol dels quadrats per a triar un pinzell i, després dibuixeu sobre el llenç. Per a canviar el color, feu clic al triangle de l'acoblador Selector avançat del color.

Esborrar

Hi ha pinzells predefinits per esborrar, però sovint és més ràpid utilitzar l'esborrador. S'activa amb la drecera E, i el pinzell actual alternarà entre esborrar i pintar.

Aquest mètode d'esborrat funciona amb la majoria de les eines. Podeu esborrar emprant l'eina de línia, l'eina de rectangle i, fins i tot, l'eina de degradat.

Desar i obrir fitxers

Ara, una vegada hàgiu descobert com dibuixar alguna cosa en el Krita, voldreu desar-ho. L'opció de desar es troba en el mateix lloc que en tots els altres programes d'ordinador: el menú Fitxer a la part superior i després Desa.

Seleccioneu la carpeta on voleu tenir el vostre dibuix i seleccioneu el format de fitxer que voleu emprar («.kra» és el format predeterminat del Krita i es desarà tot). I, després premeu Desa. Algunes versions antigues del Krita tenen un error i requereixen que s'escrigui manualment l'extensió.

Si voleu mostrar la vostra imatge a Internet, vegeu la guia d'aprenentatge Desar per a la web.

Vegeu Navegació per a més informació bàsica, els Conceptes bàsics per a una introducció del Krita com a suport, o simplement sortiu i exploreu el Krita!

Conceptes bàsics

Si aquesta és la vostra primera incursió en la pintura digital, aquesta pàgina us hauria d'oferir una breu introducció als conceptes bàsics però importants necessaris per a començar amb la pintura digital al Krita.

Aquesta pàgina és molt, molt llarga perquè tracta de cobrir totes les coses importants que heu de saber que el Krita és capaç de fer, i el Krita és realment poderós. De manera que aquesta pàgina també es pot considerar una guia a través de la funcionalitat més important del Krita. Amb sort, us ajudarà a comprendre els botons, fins i tot si no coneixeu el seu propòsit exacte.

Contingut

Conceptes bàsics

Rasteritzat i vectors

Imatges, vistes i finestres

Imatge

Vista

Acobladors

Finestra

Llenç en el Krita

Capes i composició

Eines

Motors de pinzells

Colors

Transparència

Modes de barreja

Màscares

Filtres

Motor del pinzell amb filtratge

Capes de filtratge, màscares de filtratge i estils de la capa

Transformacions

Motor del pinzell de deformació

Transformation Masks

Animació amb el Krita

Assistents, quadrícules i guies

Personalitzar

Rasteritzat i vectors

Tot i que el Krita és principalment una aplicació basada en el rasteritzat, també té algunes capacitats d'edició vectorial. Si sou nou al mitjà de la pintura digital, és necessari que conegueu els conceptes del rasteritzat i dels vectors.

A les imatges digitals, un píxel (element de la imatge) és un element bàsic i el més baix d'una imatge. Bàsicament es tracta d'una quadrícula de punts on cadascun mostra un color específic. L'edició rasteritzada és la manipulació i edició d'aquests píxels. Per exemple, quan agafeu un pinzell de píxels d'1 píxel que és de color negre i pinteu sobre el llenç blanc del Krita, en realitat estareu canviant el color blanc del píxel sota el pinzell a negre. En fer apropament i veure un traç del pinzell, podreu observar molts quadrats petits amb colors, aquests són els píxels:

En canvi, el treball gràfic vectorial es basa en expressions matemàtiques. Aquestes són independents del píxel. Per exemple, quan dibuixeu un rectangle en una capa vectorial en el Krita, en realitat, dibuixeu trajectes que passen per punts anomenats nodes que es troben en unes coordenades específiques dels eixos «X» i «Y». Quan torneu a reamidar o moure aquests punts, l'ordinador calcularà i tornarà a dibuixar el trajecte i us mostrarà la forma que ha pres. Per tant, podeu tornar a reamidar la forma vectorial en qualsevol mesura sense cap pèrdua de qualitat.

Al Krita, tot el que no es troba en una capa vectorial està basat en el rasteritzat.

Imatges, vistes i finestres

En un programa de pintura, hi ha tres contenidors principals que conformen el vostre espai de treball.

Imatge

El més important és la imatge.

Aquesta és una còpia individual de la imatge que heu obert o creat mitjançant el diàleg de fitxer i on editareu el vostre fitxer. El Krita permet obrir el fitxer com a una còpia nova a través del menú Fitxer, desar-lo com a un fitxer nou o fer un desament incremental. Una imatge conté capes, un espai de color, una mida del llenç i metadades com ara el creador, dades creades i PPP (dpi). El Krita pot obrir múltiples imatges alhora, podreu canviar entre elles mitjançant el menú Finestra.

A causa que la imatge és una còpia de treball de la imatge en el disc dur, podreu fer molts petits trucs de desament amb ella:

Nova

Crea una imatge nova. Quan premeu Desa, creareu un fitxer nou al disc dur.

Obre

Crea una còpia interna d'una imatge existent. Quan premeu Desa, sobreescriureu la imatge original existent amb la vostra còpia de treball.

Obre un document existent com a un document sense títol

Similar a Obre, malgrat això, Desa us demanarà que especifiqueu una ubicació de desament: creareu una còpia nova. Això és similar a Importa en altres programes.

Crea una còpia des de la imatge actual

Similar a Obre un document existent com a un document sense títol però amb la imatge actualment seleccionada.

Desament incremental

Permet fer una instantània ràpida de la imatge actual creant un fitxer nou amb un número de versió afegit.

Aquestes opcions són excel·lents per a les persones que realitzen treballs de producció, les quals necessiten canviar entre fitxers amb rapidesa o tenir fitxers de còpia de seguretat en el cas de fer quelcom extrem. El Krita també té un sistema de còpia de seguretat dels fitxers en forma de desament automàtic i fitxers de resguard i per a la recuperació de bloqueigs. Podeu configurar-los als ajustaments generals.

Veureu la imatge a través d'una vista.

Vista

Una vista és una finestra amb la vostra imatge. El Krita permet tenir múltiples vistes i podreu manipular la vista per fer zoom, girar, emmirallar i modificar el color de manera que veureu la imatge sense editar-la. Això és molt útil per als artistes, ja que canviar la manera de veure la imatge és una manera comuna de diagnosticar els errors, com ara quan s'inclina cap a un costat. Emmirallar amb la drecera M fa que aquesta inclinació sigui fàcil d'identificar.

Si teniu problemes per a dibuixar determinades corbes, gaudireu utilitzant el gir per a dibuixar i, per descomptat, hi ha un zoom per a més precisió i el treball rude.

Múltiples vistes de la mateixa imatge en el Krita

Múltiples visites són possibles en el Krita mitjançant Finestra ‣ Vista nova ‣ nom_imatge. Podreu canviar entre elles mitjançant el menú Finestra, la drecera Ctrl + Tab o manteniu-les a la mateixa àrea quan estigui activat el mode subfinestra als ajustaments, mitjançant Finestra ‣ Mosaic.

Acobladors

Els acobladors són petites subfinestres a la interfície del Krita. Contenen eines útils, com ara el Selector de color, la Pila de capes, les Opcions de l'eina, etc.

La imatge de dalt mostra alguns dels acobladors al Krita.

Totes les vistes i els acobladors es troben dins de les finestres.

Finestra

Si heu utilitzat un ordinador abans, ja sabreu què són les finestres: són contenidors grans per als vostres programes d'ordinador.

El Krita permet tenir múltiples finestres mitjançant Finestra -> Finestra nova. A continuació, podreu arrossegar-la a un altre monitor per utilitzar-ho amb múltiples monitors.

La imatge següent mostra un exemple de múltiples finestres al Krita.

Llenç en el Krita

Quan creeu un document nou en el Krita per primera vegada, veureu una àrea blanca rectangular. Això s'anomena un llenç. Podeu veure-ho a la imatge de sota. L'àrea marcada per un rectangle vermell és un llenç.

Quan deseu la pintura com a JPG, PNG, etc. o quan feu una impressió de la pintura, només es tindrà en compte el contingut d'aquesta àrea. Qualsevol cosa més enllà serà ignorada. El Krita emmagatzema informació més enllà d'aquesta àrea, però simplement no la podeu veure. Aquestes dades s'emmagatzemen a les capes.

Capes i composició

Així com un pintor de paisatges, primer pintaria el cel i després els elements més allunyats abans de treballar lentament amb els elements en primer pla, els ordinadors faran el mateix amb totes les coses que els hi digueu que dibuixin. Per tant, si indiqueu que es dibuixi un cercle després d'un quadrat en el mateix lloc, el cercle sempre es dibuixarà després. Això s'anomena ordre del dibuix.

La pila de capes és una manera per a que separeu els elements d'un dibuix i en manipuleu l'ordre per a mostrar quines capes es dibuixaran quan, el qual us permetrà canviar l'ordre en què estan dibuixades i tot tipus d'altres efectes. Això s'anomena composició.

Això us permet tenir la línia artística sobre els colors o arbres al davant de les muntanyes, i editar-ne cadascun sense afectar a l'altre.

El Krita disposa de molts tipus de capes, cadascuna fa quelcom una mica diferent:

Paint Layers

També conegudes com a capes ràster i el tipus de capa més comú, pintareu sobre aquestes.

Vector Layers

Aquestes són un tipus de capa on dibuixareu els gràfics vectorials. Els gràfics vectorials solen ser més senzills que els gràfics rasteritzats i amb el benefici que els podreu deformar amb menys borrositat.

Group Layers

Aquestes permeten agrupar diverses capes mitjançant l'acció arrossega i deixa anar, de manera que podreu organitzar, moure, aplicar màscares i realitzar altres accions.

Clone Layers

Aquestes són còpies de la capa que heu seleccionat al crear-les. S'actualitzen automàticament quan es canvia l'original.

File Layers

Aquestes es refereixen a una imatge existent a l'exterior i s'actualitzen tan aviat com s'actualitza la imatge externa. Útil per a logotips i emblemes que canvien molt.

Fill Layers

Aquestes capes estan emplenades d'alguna cosa que el Krita pot fer sobre la marxa, com ara colors o patrons.

Filter Layer

Afegeixen un filtre a la pila de capes. Parlarem d'això més endavant.

Podeu manipular el contingut de les capes amb les eines.

Eines

Les eines permeten manipular les dades de la imatge. La més comuna és, per descomptat, el pinzell a mà alçada, la qual és la predeterminada quan obriu el Krita. Aproximadament hi ha cinc tipus d'eines al Krita:

Eines de pintura

Són eines per a pintar sobre capes de pintura. Descriuen formes, com ara rectangles, cercles i línies rectes, però també traçats a mà alçada. Aquestes formes són utilitzades pels motors de pinzells per a crear formes i efectes de dibuix.

Eines vectorials

Són la fila superior d'eines, les quals s'utilitzen per editar els vectors. Curiosament, totes les eines de pintura, excepte el pinzell a mà alçada, permeten dibuixar formes a les capes vectorials. No obstant això, a aquestes no se'ls aplica un efecte del motor de pinzells.

Eines de selecció

Les seleccions permeten editar una àrea molt específica de la capa en la qual esteu treballant sense afectar a les altres. Les eines de selecció permeten modificar la selecció actual. Això no és diferent de l'ús de fluids d'emmascarament en la pintura tradicional, però mentre que emprar fluids i pel·lícula per a l'emmascarament sovint és desordenat i delicat, les seleccions són molt més fàcils d'emprar.

Eines de guia

Aquestes són les eines com quadrícules i assistents.

Eines de transformació

Aquestes són les eines que permeten transformar la imatge. Més sobre això més endavant.

Totes les eines es troben al quadre d'eines i trobareu la informació a la secció d'eines del manual.

Motors de pinzells

Els motors de pinzells, com s'ha mencionat anteriorment, prenen informació d'un traç i de la tauleta i li afegeixen els efectes, fent-ho en un traç.

El motor és un terme que els programadors utilitzen per a descriure un conjunt complex de codi interactiu que és el nucli d'una determinada funcionalitat i és altament configurable. En resum, com el motor del cotxe que conduïu; el cotxe, el tipus de motor i la seva configuració afectarà a la forma en què l'utilitzeu, el motor del pinzell impulsa l'aspecte i el comportament del pinzell i diferents motors de pinzell tenen resultats diferents.

El Krita disposa d'un munt de motors diferents de pinzell, tots amb efectes diferents.

Esquerra: pinzell de píxels, Centre: pinzell amb esborronat del color, Dreta pinzell d'esbós

Per exemple, el motor del pinzell de píxels és senzill i permet fer la major part del vostre treball bàsic, però si feu una gran quantitat de pintura, el motor del pinzell amb esborronat del color pot ser més útil. Encara que sigui més lent que utilitzar el motor del pinzell de píxels, la seva barreja de colors us permetrà treballar més ràpidament.

Si voleu alguna cosa totalment diferent d'això, el motor del pinzell d'esbós ajuda a fer línies desordenades i el motor del pinzell de formes permet fer plans grans ràpidament. Hi ha molts efectes interessants als motors de pinzells del Krita, de manera que proveu-los tots i assegureu-vos de comprovar els capítols de cadascun.

Podeu configurar aquests efectes mitjançant la llista desplegable Ajustaments del pinzell, a la qual es pot accedir ràpidament amb la drecera F5. Aquestes configuracions es poden desar en els predefinits, als quals accedireu ràpidament amb la drecera F6 o l'acoblador Pinzells predefinits.

Els pinzells dibuixen amb colors, però com poden entendre'ls els ordinadors?

Colors

Els humans poden veure alguns milions de colors, els quals són combinacions d'ones electromagnètiques (llum) que reboten sobre una superfície, on la superfície n'absorbeix una part.

Els colors CMY subtractius a l'esquerra i els colors RGB additius a la dreta. Aquesta diferència significa que les impressores es beneficien de la conversió del color abans d'imprimir.

Quan pintem de la manera tradicional, utilitzem pigments que també absorbeixen les ones de llum adequades per al color que volem que tingui, però com més pigments es combinin, més llum s'absorbirà, donant lloc a una mena de negre tou. Per aquesta raó, ho anomenem barreja substractiva de pintures, ja que resta llum quan més pigments s'ajunten. Per això, en la barreja tradicional de pigments, els primaris més eficients són tres colors força lleugers: blau cian, vermell magenta i groc (Cyan blue, Magenta red and Yellow -CMY-).

Un ordinador també utilitza els tres primaris i utilitza una quantitat específica de cadascun en un color a mesura que emmagatzema el color. No obstant això, un ordinador és una pantalla que emet llum. De manera que fa més llum, el qual vol dir que haurà de fer una barreja additiva, on l'addició de més i més llums de color resultarà en blanc. Per aquest motiu, els tres primaris més eficients, tal com els utilitzen els ordinadors són vermell, verd i blau (Red, Green and Blue -RGB-).

Per píxel, un ordinador emmagatzemarà el valor de cadascun d'aquests primaris, amb el màxim depenent de la profunditat de bits. Aquests són els anomenats components o canals segons amb qui parleu.

Aquest és el canal vermell d'una imatge d'una rosa vermella. Com podeu veure, els pètals són blancs, indicant que aquestes àrees contenen vermell complet. Les fulles són molt més fosques, indicant una falta de vermell, el qual és d'esperar, ja que són verdes.

Tot i que, de manera predeterminada, els ordinadors empren RGB, també poden convertir-se a CMYK (el model subtractiu) o un model perceptiu com LAB. En tots els casos, aquesta només és una manera diferent d'indicar com es relacionen els colors entre si, i cada vegada se solen tenir 3 components. L'excepció aquí és l'escala de grisos, perquè l'ordinador només necessita recordar com és un color blanc. Per això, amb l'escala de grisos s'és més eficient en memòria.

De fet, si observeu cada canal per separat, també els veureu com a imatges en escala de grisos, però en blanc voldrà dir només la quantitat de vermell, verd o blau que hi ha.

El Krita té un sistema per a la gestió del color molt complex, del qual podeu llegir més aquí.

Transparència

Igual que el vermell, el verd i el blau, l'ordinador també pot emmagatzemar la transparència d'un píxel. Això és important per a la composició tal com s'ha esmentat anteriorment. Després de tot, no té sentit tenir múltiples capes si no es pot tenir transparència.

La transparència s'emmagatzema de la mateixa manera que els colors, el qual significa que també és un canal. Normalment l'anomenem canal alfa o alfa per escurçar. La raó d'això és que la lletra «α» s'utilitza per a representar-la en la programació.

Alguns programes antics no sempre tenen transparència de manera predeterminada. El Krita fa el contrari: no entén les imatges que no segueixen la transparència, i sempre afegirà un canal de transparència a les imatges. Quan un píxel donat és completament transparent a totes les capes, el Krita mostrarà un patró de tauler d'escacs, com a la imatge de la rosa.

Modes de barreja

Com que els colors s'emmagatzemen com a números, podreu fer matemàtiques amb ells. Això ho anomenem Modes de barreja o Modes de composició.

Els modes de barreja es poden fer per capa o pel traç del pinzell i, per tant, també formen part de la composició de les capes.

Multiplicar

Un mode de barreja que s'utilitza habitualment és, per exemple Multiplica, el qual multiplicarà els components, donant lloc a colors més foscos. Això permet simular la barreja substractiva i, per tant, facilitarà molt les ombres en la pintura.

Sumar

Un altre ús habitual és Suma, el qual afegirà els components d'una capa a l'altra, el qual es perfecte per a efectes especials de lluïssor.

Esborrar

Esborra és un mode de barreja al Krita. No hi ha cap eina d'esborrador, però podeu alternar ràpidament el pinzell amb la drecera E per a convertir-lo en un goma d'esborrar. També podeu utilitzar-la en les capes. A diferència dels altres modes de barreja, aquest només afectarà el canal alfa, fent que les coses siguin més transparents.

Normal

El mode de barreja Normal només fa la mitjana entre els colors depenent de quina sigui la transparència al color de sobre.

El Krita disposa de 76 modes de barreja, cadascun fa les coses una mica diferents. Aneu als Modes de barreja per obtenir més informació.

Com que podem veure els canals com a imatges en escala de grisos, podrem convertir les imatges en escala de grisos a canals. Com, per exemple, podrem utilitzar una imatge en escala de grisos per a la transparència. Ho anomenem màscares.

Màscares

Les màscares són un tipus de subefecte aplicat a una capa, generalment provinent d'una imatge en escala de grisos.

Els tipus principals de màscara són Transparency Masks, els quals permeten utilitzar una imatge en escala de grisos per a determinar la transparència, on el negre farà que tot sigui transparent i el blanc farà que el píxel sigui completament opac.

Podeu pintar sobre les màscares amb qualsevol dels pinzells, o convertir una capa de pintura normal en una màscara. El gran benefici de les màscares és que podreu fer les coses transparents sense eliminar els píxels subjacents. A més, podreu fer servir les màscares per a revelar o ocultar tota una capa de grup alhora.

Per exemple, aquí tenim una dama fantasma de blanc:

Però en realitat no es pot saber si és una dama fantasma o simplement que en realitat és blanca. Si només poguéssim donar-nos la idea que flota... Fem clic dret a la capa i afegim una màscara de transparència. Després, seleccionem aquesta màscara i dibuixem amb un degradat lineal en blanc i negre, de manera que el negre estarà a sota.

On se vulga que es trobi el negre, allà la dama es tornarà transparent. Convertint-la en un veritable fantasma!

El nom de màscara prové del fluid i pel·lícula de l'emmascarament tradicional. Pot recordar la comparació anterior de seleccions amb el fluid per a l'emmascarament tradicional. Les seleccions també s'emmagatzemen internament com a imatges en escala de grisos, i podeu desar-les com una selecció local, el qual serà com una màscara, o convertir-ho en una màscara de transparència.

Filtres

Anteriorment hem esmentat que podeu fer matemàtiques amb els colors. Però també podeu fer matemàtiques amb els píxels, grups de píxels o capes senceres. De fet, podeu fer que el Krita faci tot tipus de petites operacions sobre les capes. A aquestes operacions les anomenem filtres.

Exemples d'aquestes operacions són:

Dessatura

Això fa que tots els píxels es tornin grisos.

Difuminat

Això fa la mitjana dels píxels amb els seus veïns, el qual eliminarà els contrastos més definits i farà que la imatge sencera quedi borrosa.

Aguditza

Això farà augmentar el contrast entre els píxels que tenien un contrast força alt en començar.

Color a alfa

Un filtre popular que fa que tot el color escollit sigui transparent.

Diferents pinzells amb filtratge que s'utilitzen en diferents parts de la imatge.

El Krita disposa de molts més filtres disponibles: llegiu sobre seu aquí.

Motor del pinzell amb filtratge

Com que moltes d'aquestes operacions són per píxel, el Krita permet utilitzar el filtre com a part del Motor del pinzell amb filtratge.

En la majoria del programari per a la manipulació d'imatges, aquestes són eines separades, però el Krita les té com a motor de pinzells, permetent una major personalització del que és habitual.

Això vol dir que podeu crear un pinzell que dessatura els píxels o un pinzell que canvia el to dels píxels per sota.

Capes de filtratge, màscares de filtratge i estils de la capa

El Krita també permet deixar que els filtres formin part de la pila de capes, mitjançant les Filter Layer i Filter Masks. Les capes del filtratge afectaran a totes les capes situades sota seu en la mateixa jerarquia. La transparència i les màscares de transparència a sobre de les capes de filtratge afectaran on s'apliqui la capa.

Les màscares, d'altra banda, poden afectar una sola capa i provenen d'una imatge en escala de grisos. També afectaran a totes les capes d'un grup, igual que una màscara de transparència.

Podem utilitzar aquests filtres per a fer que la nostra dama fantasma es vegi encara més etèria, seleccionant la capa de la dama fantasma i després creant una capa clonada. Després fem clic dret, afegim una màscara de filtratge i fem servir el conjunt de difuminat gaussià establert a 10 píxels o així. La capa clonada es col·locarà al darrere de la capa original i s'establirà en el mode barreja «Esvaïment del color», el qual li donarà una lluïssor esgarrifosament definida. Podeu continuar pintant a la capa original i tot s'actualitzarà automàticament!

Els efectes de capa o els estils de la capa són marca exclusiva de Photoshop. Les màscares de filtratge són una mica més ràpides que les màscares estàndard, però no tan versàtils. Estan disponibles fent clic dret sobre una capa i seleccionant «estil de capa».

Transformacions

Les transformacions són tipus de filtres, en aquestes es tracta d'operacions realitzades sobre els píxels d'una imatge. Tenim una imatge estàndard i una capa àmplia de transformacions en els menús de la imatge i la capa de a sobre, de manera que podreu reamidar, invertir i girar tota la imatge.

També tenim l'Crop Tool, la qual només afectarà a la mida del llenç, i l'Move Tool, la qual només mourà una capa determinada. Tanmateix, si voleu més control, el Krita ofereix una Transform Tool.

Amb aquesta eina podreu girar i reamidar la mida del llenç o posar-lo en perspectiva. O podreu utilitzar les eines de transformació avançada, com ara la deformació, gàbia i liqüescent, les quals permeten transformar dibuixant punts personalitzats o fins i tot fingint que es tracta d'un pinzell de transformació.

Motor del pinzell de deformació

Igual que el motor del pinzell amb filtratge, el Krita també disposa d'un motor del pinzell de deformació, el qual permet transformar amb un pinzell. La deformació és com una versió molt més ràpida del mode d'eina de transformació liqüescent, però en canvi, els seus resultats són de molta menor qualitat.

Una poma transformada en una pera amb liqüescent a l'esquerra i el pinzell de deformació a la dreta.

A més, no podreu aplicar el pinzell de deformació com a una màscara no destructiva.

Transformation Masks

Igual que els filtres, les transformacions es poden aplicar com a una operació no destructiva que formi part de la pila de capes. A diferència de les màscares de filtratge i de transparència, per raons tècniques, les màscares de transformació no poden provenir d'una imatge en escala de grisos. També podeu utilitzar màscares de transformació per a deformar capes clonades i de fitxer.

Animació amb el Krita

En la versió 3.0, el Krita va aconseguir una implementació de l'animació rasteritzada. Podeu utilitzar els acobladors Línia de temps, Animació i Pell de ceba, a més de l'increïble varietat de pinzells del Krita per a crear animacions basades en el rasteritzat; exportar-les i després convertir-les en pel·lícules o GIF.

Assistents, quadrícules i guies

Amb tot aquest material tècnic, podríeu oblidar que el Krita és un programa de pintura. Igual que un il·lustrador a la vida real pot tenir tot tipus d'equipament per a facilitar el dibuix, el Krita també ofereix una varietat d'eines:

Assistents del punt de fuga del Krita en acció.

Grids and Guides Docker

Eina de guia molt senzilla que mostra les quadrícules o línies guia que es poden configurar.

Ajustar

Podeu ajustar-vos a tot tipus de coses. Quadrícules, guies, extensions, ortogonals, centres d'imatge i contenidors.

Pintar amb assistents

Com que difícilment podreu posar una regla a la vostra tauleta per ajudar-vos a dibuixar, els assistents us ajudaran a dibuixar cercles concèntrics, perspectives, línies paral·leles i altres fàcilment oblidats, però difícils de dibuixar. El Krita també permet ajustar-les mitjançant les Opcions de l'eina.

Aquestes guies es desen en el format natiu del Krita, el qual vol dir que després podreu reprendre el vostre treball amb facilitat.

Personalitzar

Això ens porta al concepte final: la personalització.

A més de tornar a ordenar els acobladors segons les vostres preferències, el Krita proporciona i desa les configuracions com a Workspaces. Aquest és el botó situat a la part superior dreta.

També podeu configurar la barra d'eines mitjançant Arranjament ‣ Configura les barres d'eines, així com les dreceres sota Arranjament ‣ Configura el Krita ‣ Configura les dreceres i Arranjament ‣ Configura el Krita ‣ Arranjament de l'entrada del llenç.

Navegació

Interfície

El Krita proporciona una àmplia selecció per a que els artistes organitzin l'espai de treball. Un artista pot ajustar i organitzar els elements de l'espai de treball, com quan s'encaixen blocs de Lego. El Krita proporciona un conjunt de parts del kit de construcció en forma d'Acobladors i Barres d'eines. Cada conjunt d'elements es pot mostrar, ocultar, moure i reorganitzar per a permetre a l'artista personalitzar amb facilitat la seva pròpia experiència en la interfície d'usuari.

Una gira per la interfície del Krita

Com ja hem dit anteriorment, la interfície del Krita és molt manejable i la manera que trieu de configurar la superfície de treball pot no semblar-se a l'anterior, però almenys ho podem utilitzar com a punt de partida.

A -- El menú Fitxer o acció tradicional es troba en la majoria de les aplicacions amb finestra.

B -- Barra d'eines: aquí podreu escollir els pinzells, establir els paràmetres com l'opacitat, la mida i altres ajustaments.

C -- Barres laterals per als Plafons/Acobladors mòbils. En algunes aplicacions, aquestes es coneixen com a àrees acoblables. El Krita també permet acoblar els plafons a la part superior i/o inferior.

D -- Barra d'estat: aquest espai mostra el vostre mode preferit mostrant el seleccionat, p. ex., els modes formigues o màscara, el pinzell predefinit seleccionat, l'Espai de color, mida de la imatge i proporciona un còmode control del zoom.

E -- Plafó/Acoblador flotant: aquests poden «obrir-se» dins i fora dels seus acobladors en qualsevol moment per a veure un ampli ventall de les opcions. Un bon exemple d'això seria l'Preset Docker o l'Palette Docker.

El vostre llenç es troba al mig i, a diferència del paper tradicional o fins i tot de la majoria de les aplicacions de pintura digital, el Krita proporciona a l'artista un llenç desplaçable de mida infinita (per descomptat, no ho necessitareu!). Les eines de navegació estàndard són les següents:

Navegació

Moltes de les accions de navegació del llenç, com ara el gir, el mirall i el zoom, tenen dreceres predeterminades relacionades amb elles:

Desplaçar

Es pot fer mitjançant el clic mousemiddle, Espai + clic mouseleft i les tecles direccionals.

Fer «zoom»

Es pot fer zoom discret mitjançant +, and -. Emprant Ctrl + Espai o Ctrl + clic mousemiddle es permet fer zoom directe amb el llapis.

Emmirallar

Podeu emmirallar la vista amb rapidesa mitjançant M. Emmirallar és una gran tècnica que els artistes digitals amb experiència fan servir per a revisar ràpidament la composició del seu treball per assegurar-se que es «vegi» bé, fins i tot quan es volteja horitzontalment.

Girar

Podeu girar el llenç sense transformar-lo. Es pot fer mitjançant Ctrl + [ o 4 i l'altre manera amb Ctrl + ] o 6. El gir ràpid basat en el ratolí és Majús. + Espai i Majús. + clic mousemiddle. Per a reiniciar el gir empreu 5.

També les trobareu sota Visualitza ‣ Llenç.

Acobladors

El Krita subdivideix moltes de les seves opcions en plafons funcionals anomenats Acobladors.

Els acobladors són petites finestres que poden contenir, per exemple, coses com la pila de capes, la paleta de colors o els pinzells predefinits. Penseu-hi com la paleta d'un pintor, en la seva aigua o en el seu pinzell. Es poden activar escollint el menú Arranjament i el submenú Acobladors. Hi trobareu una llarga llista d'opcions disponibles.

Els acobladors es poden eliminar fent clic a la x que es troba a la part superior dreta de la finestra acoblada.

Els acobladors, com el seu nom indica, es poden acoblar a la interfície principal. Podeu fer-ho arrossegant l'acoblador cap als costats del llenç (o la part superior o inferior si ho preferiu).

Els acobladors contenen molts dels aspectes «ocults» i potents del Krita que voldreu explorar a mesura que comenceu a aprofundir en l'aplicació.

Els podreu organitzar en gairebé qualsevol permutació i combinació d'acord amb les necessitats del vostre flux de treball i, després, desar aquests ajustaments com a espais de treball.

Als acobladors se'ls pot impedir acoblar-se prement Ctrl abans de començar a arrossegar l'acoblador.

Controls lliscants

El Krita utilitza aquests valors de control com la mida del pinzell, l'opacitat, el flux, la tonalitat, la saturació, etc... A continuació es mostra un control lliscant del Krita.

L'interval total està representat d'esquerra a dreta i la barra blava indica quins són els intervals possibles per al valor actual. En fer clic a qualsevol lloc, a l'esquerra o a la dreta, aquest control lliscant canviarà el número actual a quelcom més baix (a l'esquerra) o més alt (a la dreta).

Per introduir un número específic, feu clic mouseright sobre el control lliscant. Ja podreu introduir un número directament per obtenir una precisió encara més gran.

Prement la tecla Majús. mentre s'arrossega el control lliscant es canviaran els valors en un increment més petit, i prement la tecla Ctrl mentre s'arrossega el control lliscant es canviaran els valors en nombres sencers o múltiples de 5.

Barres d'eines

Les barres d'eines és on es col·loquen algunes de les accions i menús importants, de manera que estiguin disponibles amb facilitat per a l'artista durant la pintura.

Podeu obtenir més informació sobre les barres d'eines del Krita i sobre com configurar-les a la secció Barres d'eines del manual. Posar-les aquí pot accelerar realment el flux de treball de l'artista, especialment per als usuaris de monitors i ordinadors de tauleta.

Triar l'espai de treball

El botó que es troba a la dreta de la barra d'eines és el selector de l'espai de treball. Aquest permet carregar i desar les configuracions habituals de la interfície d'usuari en el Krita. Hi ha alguns espais de treball habituals que ja vénen amb el Krita.

Paleta emergent

La paleta emergent és una característica única del Krita, dissenyada per augmentar la productivitat de l'artista. És un menú circular per escollir ràpidament pinzells, colors de primer pla i de fons, colors recents mentre es pinta. Per accedir a la paleta haureu de fer clic mouseright sobre el llenç. La paleta apareixerà al lloc de la punta del pinzell o del punter del ratolí.

Si etiqueteu els pinzells predefinits, podreu afegir conjunts de pinzells a aquesta paleta. Per exemple, si afegiu alguns pinzells predefinits de tinta a l'etiqueta tintes, podreu canviar les etiquetes per a tintes a la paleta emergent i obtindreu tots els pinzells de tinta a la paleta.

Podeu establir una etiqueta amb pinzells predefinits mitjançant l'Preset Docker, consulteu la pàgina de resum del recurs per a saber més sobre l'etiquetatge en general.

Si torneu a fer servir la paleta emergent, podreu fer clic a la icona de clau anglesa i seleccionar l'etiqueta. De fet, podeu crear múltiples etiquetes i alternar entre elles. Quan necessiteu més de deu configuracions predefinides, aneu a Arranjament ‣ Configura el Krita ‣ General ‣ Valors predefinits preferits i canvieu el nombre de valors predefinits des de 10 a quelcom que us faci sentir còmode.

Introducció venint des d'un altre programari

El Krita no és l'única aplicació de pintura digital del món. Perquè sabem que els nostres usuaris podrien acostar-se al Krita amb la seva experiència emprant un altre programari, hem fet guies per il·lustrar les diferències.

Contingut:

Introducció al Krita si es ve del Photoshop

Introducció

Conceptes bàsics del Krita

Allò que té el Krita sobre el Photoshop

El que el Krita no té

Conclusió

Introducció al Krita si es ve del Paint Tool Sai

Com es fa això en el Krita?

Què obtindreu de més quan empreu el Krita?

Què falta en el Krita en comparació amb el Paint Tool Sai?

Conclusió

Introducció al Krita si es ve del Photoshop

Introducció

Aquest document proporciona una introducció al Krita per als usuaris que han estat emprant el Photoshop. La intenció és fer-vos productiu en el Krita el més ràpid possible i facilitar la conversió dels vells hàbits en altres de nous. Aquesta introducció està escrita amb el Krita versió 2.9 i el Photoshop CS2 i CS3 en ment. Però encara que les coses puguin canviar en el futur, el més probable és que segueixin sent les mateixes. El primer que cal recordar és que el Krita és una aplicació de pintura en 2D, mentre que el Photoshop (PS) és un programa per a la manipulació d'imatges. Això vol dir que en general el PS té més característiques que el Krita en general, però el Krita disposa d'eines que són rellevants per a la pintura digital. Quan us acostumeu al Krita, veureu que el Krita té algunes característiques que no formen part del PS.

Conceptes bàsics del Krita

Aquest capítol tracta sobre com utilitzar el Krita en les operacions bàsiques en comparació amb el PS.

Veure i mostrar

Navegació

Al Krita podeu navegar pel vostre document emprant tots aquests mètodes:

«Roda del ratolí»: moveu la mousescroll avall i amunt per fer zoom i premeu el mousemiddle per a desplaçar el vostre document.

«Teclat»: amb les tecles + i - en el teclat numèric.

Com al Photoshop, Painter, Manga Studio: Ctrl + Espai per a fer zoom, i Espai per a desplaçar.

Nota

Si afegiu Alt i feu un Ctrl + Alt + Espai obtindreu un zoom discret.

Gir

Gireu el llenç amb Majús. + Espai o Ctrl + [ i Ctrl + ], o amb 4 o 6. Reiniciareu el gir amb 5.

Mirall

Premeu M per a veure el dibuix o la pintura reflectits a la finestra.

Moure i transformar

El moviment i la transformació del contingut es realitza utilitzant les eines del Krita. Les trobareu a la barra d'eines. Si esteu familiaritzat amb la manera de moure les capes al PS, mantenint premuda la tecla Ctrl, podreu fer el mateix al Krita prement la tecla T per a l'eina de moure (penseu en «T»raslladar) o Ctrl + T per a l'eina de transformació.

Premeu B per tornar a l'eina de pinzell quan es fa la transformació o el trasllat. Per a trobar com fer deformacions avançades utilitzant l'eina Transformació, no feu clic dret sobre l'estri en el llenç: totes les opcions es troben a l'acoblador Opcions de l'eina.

Els canvis es podran aplicar amb la tecla Retorn per a l'eina Transformació.

Nota

Els canvis per a l'eina de moure s'aplicaran automàticament.

Seleccions

Com en el PS, podeu utilitzar les tecles Alt o Majús. durant una selecció per eliminar o afegir la selecció a la selecció activa. El Krita també ofereix subeines per a això, i podeu seleccionar-les a les Opcions de l'eina si hi ha activa una eina de selecció. Aquestes subeines estan representades com a icones. Podeu canviar a aquests submodes prement:

R: per a substituir la selecció.

T: per a intersectar.

A: per afegir a la selecció (aquesta és la que voldreu utilitzar sovint).

S: per a treure de la selecció (una altra de popular).

O manteniu premuda:

Alt: per a treure de la selecció.

Majús.: per afegir a la selecció.

Alt + Majús.: per a intersectar.

Nota

No podeu prémer Ctrl per a moure el contingut de la selecció (haureu de prémer T o seleccioneu l'Eina de moure).

Alguns altres consells:

Si voleu convertir una capa a una selecció (per a seleccionar els píxels visibles), feu clic dret sobre l'acoblador Capes i trieu Selecciona l'opac.

Si utilitzeu una eina de selecció poligonal o una selecció en la qual s'ha de «tancar», podreu fer-ho fent doble clic o bé utilitzant una Majús. - clic mouseleft.

Podeu escalar la selecció. Per a fer-ho, trieu Selecciona ‣ Escala.

Nota

A més, al menú Selecciona hi ha més opcions clàssiques per augmentar, encongir, suavitzar, vores, etc.

Si habiliteu Mostra la màscara de selecció global (menú Selecciona) podreu escalar/girar/transformar/moure o pintar sobre la selecció com en una capa en escala de grisos normal.

Ctrl + H: mostra/oculta la selecció (la mateixa drecera).

Ctrl + A: ho selecciona tot.

Ctrl + Majús. + A: ho desselecciona tot (i no la drecera Ctrl + D com en el PS).

Nota per als usuaris del Gimp: El Krita expandirà i desenvoluparà automàticament les noves capes creades a partir d'una selecció després d'una drecera Ctrl + C, Ctrl + V, de manera que no us haureu de preocupar de no poder pintar fora de l'element enganxat.

Nota

Per ara això no funciona com es pretén. Interseca és un mode de selecció que utilitza la drecera T. No obstant això, T també s'utilitza per canviar a l'Eina de moure, de manera que aquesta drecera en aquest moment no és funcional. Haureu d'utilitzar el botó a Opcions de l'eina.

Manegar les capes

Les dreceres més habituals són molt similars entre el PS i el Krita:

Ctrl + J: duplica.

Ctrl + E: fusiona cap avall.

Ctrl + Majús. + E: ho aplana tot (no Ctrl + Majús. + M com en el PS).

Inser.: insereix una capa de pintura nova.

Ctrl + G: crea un grup de capes nou i mou les capes seleccionades a aquest grup.

Grups i mode de barreja (mode de composició):

El mode de barreja per grups en el Krita té prioritat sobre les capes filles i les sobreescriu. Això pot ser sorprenent per als usuaris del Photoshop. Al Photoshop podeu utilitzar grups per a netejar la vostra pila de capes i mantenir el mode de barreja de la capa composició a través de tota la pila. Al Krita, la composició passarà al primer nivell dins del grup, tenint en compte el mode de barreja del mateix grup. Ambdós sistemes tenen pros i contres. La manera del Krita és més predictible segons alguns artistes, composició sàvia. La manera del PS condueix a una millor neteja i ordenació visual de la pila de capes.

Transformar o moure múltiples capes

Podeu seleccionar múltiples capes a la pila mantenint premuda Majús. com al PS, i si moveu la capa dins d'un grup, podreu moure o transformar tot el grup, fins i tot fent la selecció al grup i retallant totes les subcapes a l'interior sobre la marxa. No podreu aplicar filtres al grup per afectar a les múltiples capes.

Màscares de retallat

El Krita no té màscara de retallat, però hi ha una solució que implica grups de capa i Hereta l'alfa (vegeu la icona alfa). Col·loqueu una capa amb la forma que voleu escurçar l'altra amb la part inferior d'un grup i les capes a sobre amb l'opció Hereta l'alfa. Això crearà el mateix efecte que la característica «màscara de retallat» del PS.

Aquest procés ordenarà els grups per heretar l'alfa, es pot fer automàticament amb la drecera Ctrl + Majús. + G. Això crearà un grup amb capa base i una capa sobre seu amb l'opció hereta l'alfa marcada de manera predeterminada.

Mode curtcircuitat

Això està disponible al Krita, però no s'ha implementat com a mode de barreja. Al contrari, és una opció al costat d'«hereta l'alfa» sobre les capes de grup.

Capes intel·ligents

En comptes de tenir capes intel·ligents amb les que podríeu fer transformacions no destructives, el Krita té el següent conjunt de funcionalitats:

Capes de fitxer

Aquestes són capes que apunten a un fitxer extern, i s'actualitzaran automàticament si aquest canvia.

Capes clonades

Aquestes capes són una «instància» de la capa que heu seleccionat en crear-les. S'actualitzen automàticament quan s'actualitza la capa original.

Màscares de transformació

Es poden utilitzar per a la transformació no destructiva de tots els tipus de capa, incloses les capes de fitxer i clonada.

Màscares de filtratge

Igual que les capes d'ajust, aquestes poden aplicar filtres no destructius a tots els tipus de capa, incloses les capes de fitxer i clonada.

Estils de la capa

Podeu aplicar els estils de capa del Photoshop al Krita fent clic dret a qualsevol tipus de capa indicada i seleccionant «Estil de la capa» des del menú contextual. El Krita pot obrir i desar els fitxers ASL, però encara no hi ha cap funcionalitat per a l'estil de la capa.

Altres

Es poden exportar les capes i els grups. Vegeu la part superior del menú Capa per a aquesta i moltes altres opcions.

Nota

El Krita disposa d'almenys 5 vegades més modes de barreja que el PS. Estan ordenats per categories a la llista desplegable. Podeu utilitzar la casella de selecció per afegir les categories més utilitzades a les Categories preferides.

Eines de pintura

Aquest és el punt fort del Krita. Hi ha moltes eines de pintura i tenen moltes opcions.

Eines

Al Krita hi ha un paradigma totalment diferent per a definir quines «eines» es comparen amb el PS. A diferència del PS, no trobareu les eines de pinzell, esborrador, clona, difuminat, etc. En canvi, trobareu una manera de traçar els vostres traços al llenç: a mà alçada, línia, rectangle, cercle, múltiples pinzells, etc. Quan hagueu seleccionat la «manera de traçar», podreu triar la manera de pintar: esborrar/clonar/difuminar, etc. formen part de la manera en què es pinta, gestionada per les opcions dels motors de pinzell. Aquestes opcions del motor de pinzells es desen en els anomenats predefinits, els quals trobareu a Pinzells predefinits. Podeu afinar i crear els vostres propis predefinits utilitzant la icona Edita els ajustaments del pinzell que hi ha a la part superior de la barra d'eines.

Esborrar

A Krita, l'esborrador no és una eina, és un mode de barreja (o mode de composició). Podeu canviar cada pinzell si teniu que esborrar prement E. Prement E tornarà a estar en l'últim mode de barreja que heu seleccionat abans de prémer E la primera vegada.

Dreceres d'utilitat

Majús.: fa augmentar o encongir la mida del pinzell (o [ i ]).

/: alterna el darrer predefinit que s'ha seleccionat i l'actual (p. ex., un llapis i un esborrador predefinits).

K i L: incrementa els valors Més fosc i Més clar del color actiu.

I i O: incrementa més o menys l'opacitat.

D: restableix el color a negre/primer pla i blanc/fons.

X: alterna els colors de fons i de primer pla.

Majús. + I / Majús. + N / Majús. + M: un conjunt de dreceres de teclat predeterminades per accedir al selector de color en el llenç.

Nota

Alguns consideren que aquestes dreceres són un xic desafortunades. La raó és que estan destinades a ser utilitzades durant la pintura i la tecla Majús. esquerra es troba en l'extrem oposat del teclat de I, M i N. De manera que per a un pintor dretà, serà molt difícil fer-ho mentre utilitza el llapis amb la mà dreta. Tingueu en compte que podeu tornar a assignar qualsevol drecera utilitzant la configuració de les dreceres a Arranjament ‣ Configura les dreceres.

Estabilització / Suavitzat del traç

Utilitzant l'eina «pintar amb pinzell» a mà alçada que trobareu a les Opcions de l'eina, hi ha més ajustaments per a suavitzar i estabilitzar les pinzellades.

Corba de pressió global

Si teniu la sensació que el Krita és massa dur o suau respecte a la pressió quan pinteu, podreu establir una corba més suau o dura aquí: Arranjament ‣ Configura el Krita ‣ Ajustaments per a la tauleta

Ajust

Igual que al PS, podeu utilitzar els filtres clàssics per ajustar moltes coses mentre pinteu:

Ctrl + L : nivells.

Ctrl + U: ajustament HSV.

Ctrl + I: inverteix.

Eines Esvaeix / Cremat / Difuminat

A diferència del Photoshop, on es tracta d'eines separades, al Krita, aquestes estan disponibles a través del motor del pinzell amb filtratge, el qual permet aplicar la majoria dels filtres del Krita en forma de pinzell.

Temes

Si no us agrada el tema predeterminat fosc del Krita, aneu a: Arranjament ‣ Temes i trieu un tema més brillant o més fosc. Si no us agrada el color fora de l'àrea de visualització, aneu a: Arranjament ‣ Configura el Krita ‣ Mostra i canvieu el Color de la vora del llenç.

Allò que té el Krita sobre el Photoshop

Com s'ha esmentat en la introducció, el Krita és una aplicació especialitzada en la pintura. Així, també compta amb eines especialitzades per a la pintura. No es troben eines similars en les aplicacions de manipulació d'imatges més generals, com el PS. Aquí teniu una breu llista de les més importants.

Motors de pinzells

El Krita té un munt de diferents motors de pinzells. Aquests defineixen diversos mètodes sobre com traçaran els píxels al vostre llenç. Tenen noms com Quadrícula, Partícules, Esbós i altres portaran-vos noves experiències sobre com funcionen els pinzells i un nou panorama de possibles resultats. Podeu començar a personalitzar-los mitjançant l'editor per als ajustaments del pinzell, el qual és accessible a través de la barra d'eines, però és molt més senzill prémer F5.

Etiquetes per a pinzells predefinits

Aquesta és una manera molt útil de configurar els pinzells predefinits. Cada pinzell pot tenir qualsevol quantitat d'etiquetes i trobar-se en qualsevol grup. Podeu crear una etiqueta per a pinzells de barreja, per a pinzells de textura, per a pinzells d'efecte, preferits, etc.

Ajustaments de les corbes

Podeu establir l'ajustament en la relació a la pressió (velocitat/distància/inclinació/aleatòria, etc.) per a cada ajustament del pinzell.

La paleta emergent

Fàcil de trobar amb el clic mouseright, la paleta emergent permet accedir amb rapidesa als pinzells, a l'historial dels colors i a un selector de color a l'abast de la ma. Els pinzells es determinen per etiqueta i, al prémer el botó de configuració de la part inferior dreta, es cridarà una llista desplegable per a canviar les etiquetes. Aquest permet que etiqueteu els pinzells a l'acoblador Pinzells predefinits per al flux de treball i accedir ràpidament als pinzells adequats durant el flux de treball que necessiteu per a la vostra imatge.

Transformacions

L'eina de transformació del Krita pot realitzar transformacions sobre un grup i afectar les capes filles. Hi ha diversos modes, com ara lliure, perspectiva, deformació, la potent gàbia i fins i tot liqüescent. A més, podeu utilitzar màscares de transformació per aplicar transformacions de forma no destructiva a qualsevol tipus de capa, rasteritzat, grup de vectors, en el vostre nom.

Les màscares de transformació permeten transformacions no destructives

Desament incremental

Podeu desar les vostres obres d'art amb el patró: nom_obra_artística_001.kra, nom_obra_artística_002.kra, nom_obra_artística_003.kra, etc, prement una sola tecla al teclat. El Krita augmentarà el número final si es reconeix el patró «_XXX» al final del nom del fitxer.

Aquesta característica permet evitar sobreescriure els vostres fitxers i fer un seguiment de la vostra versió anterior i treballar en els passos del progrés.

Filtre de color a alfa

Si voleu eliminar el blanc del paper d'una obra d'art escanejada, podeu utilitzar aquest filtre. Pren un color i el converteix a transparència pura.

Molts modes de barreja

Si us agrada fer servir els modes de barreja, el Krita en té molts. Més de 70! Teniu molt espai per a l'experimentació. S'ha creat un sistema especial de modes de barreja preferits per a permetre-vos accedir amb rapidesa als que utilitzeu més.

Assistents de pintura

El Krita disposa de molts assistents de pintura. Es tracta d'un tipus especial de formes vectorials amb una influència magnètica en les pinzellades. Podeu emprar-los com a regles, però amb altres formes que no siguin rectes.

Assistents del punt de fuga del Krita en acció.

Múltiples pinzells: Simetria / Paral·lel / Emmirallat / Floc de neu

L'eina Múltiples pinzells del Krita permet pintar amb múltiples pinzells alhora. Els moviments dels pinzells que no siguin el pinzell principal es crearan reflectint el que pinteu, o duplicant per qualsevol número al voltant de qualsevol eix. També es poden utilitzar en el mode paral·lel.

Una àmplia varietat de selectors de color

L'acoblador Selector avançat del color ofereix una àmplia selecció de selectors de color.

Vista dependent dels filtres de color

Utilitzant l'acoblador LUT, el Krita permet tenir un filtre de correcció del color separat. Si bé això és certament útil per a les persones que realitzen correccions de color a la vida quotidiana, per a l'artista, això permet veure una còpia de la imatge en escala de grisos amb luminància, de manera que coneixereu immediatament els valors de la imatge.

Utilitzar l'acoblador LUT per a canviar els colors a la vista

Pintura en color HDR

Aquest mateix acoblador LUT és el controlador per a pintar amb colors HDR. Utilitzant l'acoblador LUT per a canviar l'exposició sobre la vista, el Krita permet pintar amb colors HDR i compta amb suport EXR natiu!

Pintura amb colors HDR

El que el Krita no té

Una vegada més, el Krita és una aplicació de pintura digital i el Photoshop és un programa per a la manipulació d'imatges amb algunes característiques de pintura. Això vol dir que hi ha coses que podeu fer al PS que no podeu fer al Krita. Aquesta secció ofereix una breu llista d'aquestes característiques.

Filtres

El Krita té un paquet de filtres molt impressionant, però probablement trobareu a faltar un o dos dels filtres especials o les eines d'ajustament del color que utilitzeu sovint en el Photoshop. Per exemple, no hi ha possibilitat de modificar un color específic en l'ajustament de HSV.

Eina automàtica de guariment

El Krita no té una eina automàtica de guariment. Tanmateix, disposa d'una eina de clonatge que es pot utilitzar per a fer una correcció de guariment, encara que no de manera automàtica.

Enregistrar macros

L'enregistrament i la reproducció de macros existeix en el Krita, però en aquest moment no està funcionant bé.

Eina de text

L'eina de text al Krita és menys avançada que l'eina similar al Photoshop.

Modes de barreja mentre es transforma

Quan transformeu una capa o una selecció al Krita, la transformació apareixerà a la part superior de la pila de capes ignorant el mode de barreja de capes.

Altres

A més, no podreu «Exporta per al web», «Imatge llesta» per al fotograma GIF o retallar una imatge del web, etc.

Conclusió

Amb aquests consells, probablement estareu corrent amb el Krita en poc temps. Si trobeu altres coses que cal esmentar en aquest document, nosaltres, els autors, estem interessats a escoltar-les. El Krita es desenvolupa ràpidament, per la qual cosa creiem que la llista de coses possibles al Photoshop, però no al Krita, serà més curta amb el temps. Mantindrem aquest document mentre això succeeix.

Introducció al Krita si es ve del Paint Tool Sai

Com es fa això en el Krita?

Aquesta secció tracta sobre funcionalitats que comparteixen el Krita i el Paint Tool Sai, però mostra com es diferencien lleugerament.

Navegar pel llenç

El Krita, igual que el Sai, permet invertir, girar i duplicar la vista. A diferència del Sai, aquestes accions estan lligades a dreceres de teclat.

Emmiralla

Està lligada a M per invertir.

Gira

Aquí hi ha algunes possibilitats: ja sigui 4 i 6, o Ctrl + [ i Ctrl +] per al gir bàsic de 15 graus a l'esquerra i dreta. Però també podeu tenir un gir més sofisticat amb Majús. + Espai + arrossega o Majús. + clic mousemiddle + arrossega. Per a restablir el gir, premeu 5.

Zoom

Podeu utilitzar + i - per allunyar i apropar, o utilitzar Ctrl + clic mousemiddle. Utilitzeu 1, 2 o 3 per a restablir el zoom, ajustar el zoom a la pàgina o ajustar el zoom a l'amplada de la pàgina.

Podeu utilitzar el connector Vista general a Arranjament ‣ Acobladors per a navegar ràpidament per sobre de la vostra imatge.

També podeu posar aquestes ordres a la barra d'eines, de manera que s'assimilarà una mica al Sai. Aneu a Arranjament ‣ Configura les barres d'eines. Hi ha dues barres d'eines, però les afegirem a la barra d'eines de fitxers.

Llavors, podeu escriure quelcom a la columna esquerra per a cercar-la. Així, per exemple, «desfés». Després seleccioneu l'acció «desfés el traç a mà alçada» i arrossegueu-la cap a la dreta. Seleccioneu l'acció a la dreta i feu clic a Canvia el text. Allà, alterneu Oculta el text quan la barra d'eines mostri el text al costat de les icones per evitar que l'acció mostri el text. A continuació, premeu D'acord. Quan hàgiu acabat, el Desfés hauria d'estar intercalat entre la icona de desa i la de degradat.

Podeu fer el mateix amb Refés, Desselecciona, Inverteix la selecció, Allunya, Apropa, Reinicia el zoom, Gira a l'esquerra, Gira a la dreta, Visualització en mirall i potser Suavitzat: Bàsica i Suavitzat: Estabilitzadora per obtenir gairebé tota la funcionalitat de la barra superior del Sai a la barra superior del Krita. (Tot i que, a les pantalles més petites, això farà que totes les coses de la barra d'eines dels pinzells s'ocultin dins d'una llista desplegable a la dreta, de manera que necessiteu experimentar una mica).

Actualment, les ordres Oculta la selecció, Reinicia el gir no estan disponibles a través de la configuració de la barra d'eines, haureu d'utilitzar les dreceres Ctrl + H i 5 per alternar-les.

Nota

Actualment, el Krita 3.0 no permet canviar el text a la barra d'eines, ja hi estem treballant.

Clic dret per al selector de color

En realitat, ho podeu establir a Arranjament ‣ Configura el Krita ‣ Ajustaments per a l'entrada del llenç ‣ Invocació alternativa. Simplement feu doble clic a l'entrada que digui Ctrl + clic mouseleft abans de Tria el color del primer pla des de la imatge per obtenir un diàleg per establir-la amb el clic mouseright.

Nota

El Krita 3.0 en realitat té un full d'entrada compatible amb el Paint-tool Sai. Combineu-los amb la drecera de full per al Paint tool Sai per obtenir la major part de la funcionalitat a les tecles d'accés ràpid conegudes.

Estabilitzador

Aquest és l'acoblador Opcions de l'eina per al pinzell a mà alçada. Utilitzeu el Suavitzat bàsic per a les tauletes més avançades i si l'estabilitzador s'assembla molt al de Paint Tool Sai. Simplement desactiveu el Retard de manera que desaparegui la zona morta.

Transparència

Així que una de les coses que els agrada a molts usuaris del Paint Tool Sai és que el Krita fa servir els comprovadors per a mostrar la transparència, el qual en realitat no és tan infreqüent. Tot i així, si voleu que el fons del llenç sigui blanc, això serà possible. Simplement trieu Fons: Com a color del llenç al nou diàleg de la imatge i el fons de la imatge serà blanc. Es pot tornar transparent mitjançant Imatge ‣ Canvia el color de fons de la imatge. Si exporteu a PNG o JPG, assegureu-vos de desmarcar Desa la transparència i feu que el color de fons sigui blanc (de manera predeterminada és negre).

Com en el Sai, podeu convertir amb rapidesa una imatge en blanc i negre a negre i transparent amb l'opció Filtre de color a alfa sota Filtres ‣ Colors ‣ Color a alfa.

Ajustaments del pinzell

Un altre concepte erroni, és que el motor de pinzells del Krita no és molt complex. Després de tot, des de la barra superior només podeu canviar la Mida, el Flux i l'Opacitat.

Això no és cert. Més aviat és que no tenim els ajustaments del nostre pinzell en un acoblador, sinó en una llista desplegable a la barra d'eines. La manera més fàcil d'accedir-hi és F5. Com veureu, en realitat és força complex. Tenim més d'una dotzena de motors de pinzells, els quals són un tipus de pinzell que podeu crear. El que estàveu acostumat al Paint Tool Sai són el Pinzell de píxels (tinta), el Pinzell amb esborronat del color (pinzell) i el Pinzell amb filtratge (esvaïment, cremat).

Per exemple, una senzilla recepta del pinzell de tinta és prendre un pinzell de píxels, desmarqueu l'opció Activa els ajustaments per al llapis en l'opacitat i el flux, i desmarqueu-ho tot excepte la mida a la llista d'opcions. A continuació, aneu a la punta del pinzell, escolliu el Auto Brush des de les pestanyes i establiu la mida a 25 (feu clic dret a la barra blava si voleu introduir algun número), activeu l'antialiàsing sota la icona del pinzell, i establiu l'ombra a 0,9. A continuació, com a últim toc, establiu el tipus d'espaiat a «Automàtic» i el número de l'espaiat a 0,8.

Podeu configurar els pinzells amb molts detalls i compartir els paquets amb altres usuaris. La importació de paquets i pinzells es pot fer a través del Arranjament ‣ Gestiona els recursos, des d'on podreu importar els fitxers «.bundle» o «.kpp».

Esborrar

L'esborrament és un mode de barreja en el Krita, igual que el mode de transparència del Paint Tool Sai. S'activa amb E o el podeu seleccionar des de la llista desplegable «Mode de barreja...».

Modes de barreja

El Krita té molts modes de barreja i, per sort, hi trobareu tots els del Paint Tool Sai, excepte els binaris. Per a gestionar els modes de barreja, cadascun d'ells té una casella de selecció que podeu marcar per afegir-los als preferits.

Multiplica, Pantalla, Superposició i Normal es troben entre els preferits. La Lluminositat del Krita, en realitat és una mica diferent de la del Paint Tool Sai i substitueix la brillantor relativa del color amb la brillantor relativa del color de la capa.

El mode Lluminositat del Sai, en realitat és el mateix que el mode Addició o Esvaïment lineal del Krita. El mode Ombra és el mateix que el Cremat del color i Barreja forta és el mateix que el mode Luminància i Ombra.

Capes

Bloqueja l'alfa

Aquesta és la icona del quadre de selecció que hi ha al costat de cada capa.

Grup de retall

Per a les màscares de retallat en el Krita, haureu de col·locar totes les vostres imatges en una sola capa i després prémer la icona «a» o prémer la drecera Ctrl + Majús. + G.

Capa de tintura

Aquesta és una capa vectorial al Krita, i també conté el text.

Màscares

Aquestes capes en escala de grisos que permeten afectar la transparència, s'anomenen màscares de transparència en el Krita i, com al Paint Tool Sai, es poden aplicar tant a grups com a capes. Si teniu una selecció i feu una màscara de transparència, s'utilitzarà la selecció com a base.

Netejar una capa

Això es troba sota Edita -> Neteja, però també podeu prémer la drecera Supr..

Barrejar entre dos colors

Si us ha agradat aquest acoblador al Paint Tool Sai, l'acoblador Selector de color digital del Krita us ajudarà. Arrossegar els controls lliscants canviarà la quantitat de color que es barreja.

Què obtindreu de més quan empreu el Krita?

Més personalització del pinzell

Ja heu conegut l'editor dels ajustaments del pinzell. Els pinzells d'esbós, de reixa, de deformació, de clonat són textures, que responen a la inclinació, el gir, la velocitat, que dibuixen escotilles i que deformen els colors. La varietat al Krita és molt gran.

Més selectors de color

Podeu tenir controls lliscants HSV, controls lliscants RGB, un triangle en un anell de to. Però també podeu tenir controls lliscants HSI, HSL o HSY, controls lliscants CMYK, paletes, selectors rodons, selectors quadrats, selectors diminuts, selectors grans, historial del color i selectors d'ombra. Només cal anar a Arranjament ‣ Configura el Krita ‣ Ajustaments per al selector avançat del color per a canviar la forma i el tipus del gran selector de color principal.

Podeu cridar l'historial del color amb la drecera H, colors habituals amb U i els dos selectors d'ombra amb Majús. + N i Majús. + M. El selector gran es pot cridar amb Majús. + I sobre el llenç.

Eines geomètriques

Cercles, rectangles, trajectes, el Krita permet dibuixar-los amb facilitat.

Múltiples pinzells, simetria del mirall i ajust cíclic

Aquestes eines permeten pintar amb rapidesa una imatge reflectida, una textura de mandala o en mosaic. Útil per a fons i vinyetes abstractes.

Assistents

Els assistents de pintura poden ajudar-vos a configurar una perspectiva, o un cercle concèntric i ajustar-los amb el pinzell.

Assistents del punt de fuga del Krita en acció.

Bloquejar la capa

Bloquejar la capa amb el cadenat per a que no s'hi dibuixi.

Seleccionar ràpidament la capa

Si manteniu premuda la drecera R i premeu un punt al vostre dibuix, el Krita seleccionarà la capa que hi ha sota el cursor. Molt útil quan es tracta amb una gran quantitat de capes.

Gestió del color

Permet preparar el vostre treball per imprimir o fer trucs amb l'acoblador LUT, de manera que podreu diagnosticar millor la vostra imatge. Per exemple, utilitzant l'acoblador LUT per a convertir els colors a escala de grisos en una vista independent, de manera que podreu veure els valors a l'instant.

Eines avançades de transformació

No només girar i escalar, sinó també les transformacions de gàbia, ajusta, liqüescent i no destructives amb l'eina de transformació i les màscares.

Més filtres, capes i màscares de filtratge no destructives

Amb filtres com l'equilibri de color i les corbes, podreu crear capes d'ombra senzilles. De fet, amb les capes de filtratge i les màscares de capa, podreu crear-les i aplicar-les sobre la marxa mentre dibuixeu per sota seu.

Paleta emergent

Aquesta és la petita cosa circular que de manera predeterminada trobareu fent clic dret. Podeu organitzar els vostres pinzells amb etiquetes i utilitzar-los per omplir la paleta emergent. També manté el selector de color i l'historial del color, de manera que podreu canviar els pinzells sobre la marxa.

Què falta en el Krita en comparació amb el Paint Tool Sai?

Línies vectorials d'amplada variable.

L'opció de selecció de la font per a les capes.

Vores dinàmiques sòlides per als traços (l'efecte de franja).

No hi ha cap acoblador de barreja.

No hi ha lligat cap estabilitzador predefinit.

No hi ha tecles d'accés ràpid predefinides.

Conclusió

Espero que aquesta introducció us hagi entusiasmat una mica més per emprar el Krita, de no ser així, que us trobeu una mica més com a casa.

Dibuixar en tauletes

Aquesta pàgina tracta sobre dibuixar en les tauletes, què són, com treballar-hi i on poden anar malament les coses.

Què són les tauletes?

El dibuix amb un ratolí pot ser poc intuïtiu i difícil en comparació amb el llapis i el paper. Encara pitjor, l'ús estès del ratolí pot provocar la síndrome del túnel carpià. Per això, la majoria de les persones que dibuixen digitalment utilitzen una peça especialitzada de maquinari coneguda com a tauleta de dibuix.

Una tauleta de dibuix és una peça de maquinari que podeu connectar amb la vostra màquina, com un teclat o un ratolí. Normalment sembla un coixí de plàstic, amb un llapis. Un altre format popular és el monitor d'ordinador amb llapis per a dibuixar directament a la pantalla. És millor que utilitzar un ratolí, ja que és més natural dibuixar amb un llapis i, en general, millor per als vostres canells.

Amb una placa de tauleta amb llapis correctament instal·lada, el Krita podrà utilitzar la informació com la sensibilitat a la pressió, el qual us permetrà fer traços cada cop més grans o petits, depenent de la pressió que feu, per a crear traços més rics i interessants.

Nota

De vegades, les persones confonen els estils de tocar amb els dits amb una tauleta adequada. Podeu dir-los-hi la diferència, ja que una tauleta de dibuix amb llapis normalment té un punta punxeguda, mentre que un llapis dissenyat per al contacte amb el dit té una gran punta de goma rodona, com un dit. És possible que aquestes tauletes no donin bons resultats i es recomana una tauleta sensible a la pressió.

Controladors i sensibilitat a la pressió

Així que heu comprat una tauleta, una veritable tauleta de dibuix. I voleu que funcioni amb el Krita! Així doncs, connecteu el cable USB, inicieu el Krita i... No funciona! O bé, podeu fer traços, però la sensibilitat a la pressió de la que tant heu sentit parlar no sembla funcionar.

Això es deu a que necessiteu instal·lar un programa anomenat «controlador». Normalment, El trobareu en un CD lliurat al costat de la tauleta o al lloc web del fabricant. Instal·leu-lo i, mentre espereu, anirem als detalls del que és!

S'executa en el vostre ordinador, es tracta d'un sistema bàsic que fa per vosaltres totes les coses difícils d'utilitzar un ordinador. Aquest és el sistema operatiu o SO. La majoria de la gent utilitza un sistema operatiu anomenat Windows, però la gent d'un dispositiu Apple té un sistema operatiu anomenat MacOS, i algunes persones, incloent-hi molts dels desenvolupadors, utilitzen un sistema anomenat Linux.

El principi base de tots aquests sistemes és el mateix. Voleu executar programes com el Krita, el qual s'anomena programari, al vostre ordinador, i voleu que el Krita pugui comunicar-se amb el maquinari, com la vostra tauleta de dibuix. Però tenir aquestes dues comunicacions pot ser realment difícil, de manera que el sistema operatiu funciona com una cola entre els dos.

Sempre que inicieu el Krita, primer es crearan les connexions amb el sistema operatiu, de manera que podrà demanar per a un munt d'aquestes coses: Vol mostrar les coses, emprar la memòria i així successivament. El més important és que voldrà obtenir la informació de la tauleta!

Però no pot! Resulta que el vostre sistema operatiu no sap gaire sobre les- tauletes. Per això estan els controladors. Instal·lar un controlador proporciona al sistema operatiu prou informació perquè el sistema operatiu pugui proporcionar al Krita la informació adequada sobre la tauleta. El treball del fabricant de maquinari és escriure un controlador adequat per a cada sistema operatiu.

Avís

Com que els controladors modifiquen una mica el sistema operatiu, sempre haureu de reiniciar l'ordinador quan n'instal·leu o desinstal·leu un, de manera que no us oblideu de fer-ho! Per contra, perquè el Krita no és un controlador, no us caldrà desinstal·lar-lo per a restablir la configuració, simplement reanomeneu o suprimiu el fitxer de configuració.

On pot anar malament: Windows

El Krita es connectarà automàticament amb la tauleta si els controladors estan instal·lats. Quan les coses van malament, normalment el problema no és amb el Krita.

Les tauletes Surface Pro necessiten dos controladors

Algunes tauletes que utilitzen «n-trig», com la Surface Pro, tenen dos tipus de controladors. Un és natiu, «n-trig» i l'altre s'anomena «wintab». Des de la versió 3.3, el Krita pot utilitzar controladors per a l'estil de tinta del Windows, només cal anar a Arranjament ‣ Configura el Krita ‣ Ajustaments per a la tauleta i canvieu l'opció Entrada de l'apuntador de Windows 8+. No necessiteu instal·lar més els controladors «wintab» per a llapis basats en «n-trig».

Actualitzacions del Windows 10

De vegades, una actualització de Windows 10 pot espatllar els controladors de les tauletes. En aquest cas, el reinstal·lar els controladors sol funcionar.

Tauletes Wacom

Hi ha dos problemes coneguts amb les tauletes Wacom i el Windows.

El primer és que si heu personalitzat els ajustaments del controlador, de vegades, sovint després d'una actualització del controlador, però això no és necessari, el controlador es trenca. El restablir el controlador als ajustaments predeterminats i després carregar els vostres ajustaments des d'una còpia de seguretat solucionarà aquest problema.

El segon és que, per alguna raó, podria ser necessari canviar l'ordre de prioritat de mostrar. És possible que hagueu de fer que la vostra pantalla de «Cintiq» sigui la pantalla principal o, d'altra banda, convertir-la en la pantalla secundària. Comproveu a la utilitat d'ajustaments de Wacom que la tauleta de «Cintiq» estigui associada amb la pantalla de «Cintiq».

Controladors trencats

Els controladors de la tauleta han d'estar fabricats pel fabricant. De vegades, amb tauletes realment barates, el maquinari està bé, però el controlador està escrit malament, el qual vol dir que el controlador simplement no funcionarà bé. Lamentablement no podem fer res referent a això. Haureu d'enviar una queixa al fabricant, o comprar una tauleta millor amb controladors de millor qualitat.

Controladors conflictius

A Windows, només podreu tenir instal·lat alhora un únic controlador d'estil «wintab». Així que assegureu-vos de desinstal·lar el controlador antic abans d'instal·lar el que ve amb la tauleta que voleu utilitzar. Altres sistemes operatius són una mica millors referent a això, però fins i tot Linux, on els controladors sovint estan preinstal·lats, no es poden executar dues tauletes amb diferents controladors alhora.

Programari que interfereix

De vegades, hi ha programari que intenta crear una capa de seguretat entre el Krita i el sistema operatiu. El Sandboxie n'és un exemple. No obstant això, el Krita no sempre podrà connectar-se amb certes parts del sistema operatiu mentre es trobi en un espai aïllat, de manera que sovint s'interromp front a programes com el Sandboxie. De manera similar, algun programari de ratolí, com les utilitats de Razer, també pot afectar en si el Krita podrà parlar amb el sistema operatiu, convertint la informació de la tauleta en informació del ratolí. Aquest tipus de programari s'haurà de configurar o desinstal·lar per a deixar que el Krita faci sol.

S'ha informat que el següent programari interfereix el Krita amb els esdeveniments de la tauleta:

Sandboxie

Utilitats del ratolí de Razer

«Mode joc» de l'«AMD catalyst» (aquest va trencar el clic dret a algú)

Flicks (espera el cercle que apareix i després crida la paleta emergent)

Si us trobeu amb una situació en la que intentant dibuixar es continua mostrant la paleta emergent al Windows, llavors el problema pot ser el «Flicks». Aquests són un tipus de gest, una mica de funcionalitat del Windows que permet fer un moviment de manera que serveixi com a drecera del teclat. El Windows els activa de manera automàtica quan instal·la els controladors de la tauleta, perquè les persones que van fer aquesta part del Windows van oblidar que la gent també dibuixa amb els ordinadors. Per tant, haureu de desactivar-lo a la configuració del «Flicks» de Windows.

Sensibilitat del doble clic de Wacom (l'inici recte de les línies)

Si experimenteu un problema en el que l'inici del traç és recte i teniu una tauleta de Wacom, pot estar provocat per la detecció del doble clic del controlador de Wacom.

Per a solucionar aquest problema, aneu a la utilitat d'ajustaments de Wacom i baixeu la sensibilitat al doble clic.

Tauletes acceptades

Les tauletes acceptades són aquelles en les que els desenvolupadors del Krita tenen una versió, de manera que poden corregir els errors de forma fiable. Aquí mantenim una llista de les que són.

Carregar i desar els pinzells

Al món real, quan es pinta o dibuixa, no només fareu servir una eina. Utilitzareu llapis, gomes d'esborrar, pinzells de pintura, diferents tipus de pintura, tintes, llapis de colors, etc. Totes elles tenen diferents maneres de fer les marques.

En un programa digital com el Krita teniu quelcom similar. D'això en diem un motor de pinzell. I de la mateixa manera en què els automòbils tenen diferents motors que donen diferents sensacions en conduir, o com els llapis fan marques distintives diferents dels bolígrafs, els diferents motors de pinzell tenen comportaments diferents.

Els motors de pinzell també tenen un munt d'ajustaments diferents. Per tant, podeu desar aquests ajustaments dintre dels predefinits.

A diferència del Photoshop, el Krita diferencia entre els pinzells aconsellats i els pinzells predefinits. Els aconsellats només són una espècie de segell, mentre que el predefinit utilitza una punta i molts altres ajustaments per a crear el pinzell complet.

El llistat dels ajustaments del pinzell

Per a començar, des del plafó de l'Editor d'ajustaments del pinzell es pot accedir a la barra d'eines, entre el botó Modes de barreja a la dreta i el botó Patrons a l'esquerra. De manera alternativa, podeu utilitzar la tecla de funció F5 per obrir-lo.

Quan obriu el plafó Editor d'ajustaments del pinzell, veureu quelcom així:

Recorregut pel llistat dels ajustaments del pinzell

El llistat dels ajustaments del pinzell es divideix en sis àrees,

Secció A - Informació general

Conté la Icona predefinida, Vista prèvia en viu del pinzell, el Nom predefinit, el nom del Motor i diversos botons per a desar, canviar el nom i tornar a carregar.

Els ajustaments del pinzell del Krita s'emmagatzemen a les metadades d'un fitxer PNG de 200x200 (el fitxer KPP), on la imatge del fitxer PNG esdevindrà la icona predefinida. Aquesta icona s'utilitzarà a tot arreu al Krita, i és útil per a diferenciar els pinzells de les formes que la vista prèvia en viu no permet.

La vista prèvia en viu mostra un traç del pinzell actual com una petita corba en forma de S, amb la pressió que al començament és inexistent a l'esquerra i que augmenta fins a aconseguir la pressió màxima a mesura que va cap a la dreta. D'aquesta manera, es pot mostrar l'efecte dels sensors de Pressió, Angle de dibuix, Distància, Esvaïment i Toc difús, però cap dels altres. Per a alguns motors de pinzell no es pot mostrar res. Per a les eines pinzell amb esborronat del color, amb filtratge i de clonat, es mostra un patró de línia altern perquè aquests motors de pinzell utilitzen els píxels que ja es troben en el llenç per a canviar el seu efecte.

Després del nom predefinit, hi ha un botó per a reanomenar el pinzell. Aquest desarà el pinzell com a un pinzell nou i posarà a la llista negra el nom anterior.

Motor

El motor d'un pinzell és la programació subjacent que genera el traç del pinzell. El que això vol dir és que els diferents motors de pinzell tenen opcions diferents i resultats diferents. Ho podeu veure com la diferència entre utilitzar llapis de colors, llapis i tintes, però com que els ordinadors són dispositius matemàtics, la majoria dels nostres motors de pinzell produeixen coses diferents d'una manera més matemàtica.

Per a la majoria dels artistes, la naturalesa matemàtica no importa tant com les diferents textures i marques de cada motor de pinzell, i cada motor de pinzell té el seu propi gust i ús, i es pot personalitzar encara més modificant les opcions.

Tornar a carregar

Si canvieu un predefinit, apareixerà una icona al darrere del nom del motor. Aquest és el botó Torna a carregar. Podeu utilitzar-lo per tornar als ajustaments originals del pinzell.

Desar un predefinit

A la dreta, hi ha Desa el pinzell predefinit nou i Sobreescriu el pinzell.

Sobreescriu el pinzell

Només estarà habilitat si hi ha algun canvi. En prémer-lo, se solaparà el predefinit actual amb els nous ajustaments, mantenint el nom i la icona intactes. Sempre es realitzarà una còpia de seguretat amb marca de temps a la carpeta de recursos.

Desa el pinzell predefinit nou

Prendrà el predefinit actual i tots els seus canvis i els desarà com a un predefinit nou. Si no s'ha produït cap canvi, farà una còpia del predefinit actual.

Desar un predefinit nou obrirà la següent finestra, amb un mini bloc des de zero i tot tipus d'opcions per a canviar la icona predefinida:

L'àrea de l'esquerra és un mini bloc des de zero, podreu dibuixar-hi amb el pinzell actual, el qual us permetrà realitzar petites modificacions sobre la marxa.

Nom del pinzell

El nom del vostre pinzell. També s'utilitzarà per al fitxer KPP. Si ja hi ha un pinzell amb aquest nom, el sobreescriurà de manera efectiva.

Carrega la miniatura existent

Carregarà la miniatura existent dins del predefinit.

Carrega la miniatura des del bloc des de zero

Carregarà l'àrea discontínua des del bloc des de zero (Secció C) a dins de l'àrea de la miniatura.

Carrega una imatge

Amb això podreu triar una imatge del disc per carregar-la com a miniatura.

Carrega des de la biblioteca d'icones

Obrirà la biblioteca d'icones.

Neteja la miniatura

Farà que el mini bloc des de zero estigui en blanc.

La biblioteca d'icones

Per a fer que les icones dels predefinits siguin més ràpides, el Krita disposa d'una biblioteca d'icones.

Permet seleccionar la icona de l'eina i un petit emblema opcional. Quan premeu D'acord es carregarà la combinació resultant en el mini bloc des de zero i ja podreu dibuixar el traç.

Si aneu a la vostra carpeta de recursos, hi haurà una carpeta anomenada «preset_icons», i en aquesta carpeta hi haurà «tool_icons» i «emblem_icons». Hi podreu afegir PNG semitransparents i el Krita també els carregarà a la biblioteca d'icones perquè pugueu personalitzar les vostres icones encara més!

A la part superior dreta de la biblioteca d'icones, hi ha tres controls lliscants. Permeten ajustar la icona de l'eina. Els dos primers són el mateix To i Saturació que en l'ajust HSL, i el control lliscant inferior és un filtre de nivells súper senzill. Això es fa d'aquesta manera perquè el filtre de nivells permet mantenir les ombres més fosques i els reflexos més brillants en una icona d'eina, el qual ho fa molt millor per a ajustos ràpids.

Si heu acabat amb tot, podeu prémer Desa al diàleg Desa el pinzell predefinit nou i el Krita desarà el pinzell nou.

Secció B - El selector del predefinit

El selector del predefinit és gairebé el mateix que l'acoblador Predefinits i la llista desplegable Predefinits sobre la tecla F6. És únic, ja que permet filtrar per motor i també podreu crear pinzells per a un motor des de zero.

De manera predeterminada està col·lapsat, pel que haureu de prémer la fletxa a la part superior esquerra dels motors de pinzell per a que es mostri.

El llistat superior està establert a «Tots» de manera predeterminada, el qual vol dir que mostra tots els motors. A continuació, mostra una secció d'etiquetes on podreu seleccionar les etiquetes, la llista de predefinits i la barra de cerca.

A sota hi ha una icona més, que quan es prem dóna la llista completa dels motors del Krita. En seleccionar un motor de la llista, es mostraran els pinzells per a aquest motor.

La icona de la paperera fa el mateix que a l'acoblador Predefinits: elimina, o més aviat, inclou a la llista negra un predefinit de manera que no aparegui a la llista.

Secció C - El bloc des de zero

Quan ajusteu els pinzells, voldreu poder comprovar què fa cada ajustament. Per això, a la dreta del llistat dels ajustaments, hi ha un bloc des de zero.

De manera predeterminada està col·lapsat, de manera que haureu de prémer la fletxa a la part superior dreta dels ajustaments del pinzell per a que es mostri.

En desar un predefinit nou, podreu triar obtenir la icona des del bloc des de zero. Això carregarà l'àrea del tauler en el mini bloc des de zero del diàleg Desa el pinzell predefinit nou.

El bloc des de zero té cinc botons per sota. Aquests són:

Mostra la imatge del pinzell actual

Afegeix un degradat al bloc des de zero (útil per als pinzells d'esborronar)

Omple amb el color de fons

Netejar-ho tot al bloc des de zero

Secció D - La llista d'opcions

Les opcions, com s'ha indicat anteriorment, són diferents per a cada motor de pinzell. Aquestes representen els diferents paràmetres, commutadors i ordres que podeu alternar per a fer que un pinzell predefinit sigui únic. Per a un parell d'opcions, les coses principals que s'han de canviar són els controls lliscants i les caselles de selecció, però per a moltes d'elles, al seu lloc es fan servir corbes.

Algunes opcions es poden alternar, com ho indiquen les caselles de selecció que hi ha al seu costat, però d'altres, com el flux i l'opacitat, són tan fonamentals per al funcionament del pinzell que sempre estaran activades.

La petita icona de cadenat que hi ha al costat de les opcions és per a bloquejar el pinzell. Això disposa la seva pròpia pàgina.

Secció E - Estri per a la configuració de les opcions

On la secció D és la llista d'opcions, la secció E és l'estri on podreu canviar les coses.

Emprar les corbes del sensor

Una de les grans coses importants que fan que l'art sigui únic per a l'artista que el va crear, és l'estil dels traços. Els traços són diferents perquè difereixen en velocitat, gir, direcció i la quantitat de pressió aplicada al llapis. Com que són tan importants, ens agradaria personalitzar com s'entenen en detall aquests valors. La millor manera de fer-ho és emprant les corbes.

Les corbes es mostren amb l'estri de mida, per exemple. Amb un pinzell de tinta, volem que la mida estigui assignada a la pressió. Simplement ho farà canviant l'opció de mida a la llista d'opcions.

No obstant això, diferents persones tenen canells diferents i, per tant, pressionaran de manera diferent en el seu llapis. Algú que pressiona amb suavitat trobarà que és fàcil fer traços fins, però molt difícil fer traços gruixuts. Al revés, algú que pressiona amb força el seu llapis naturalment tindrà dificultats per a fer traços fins, però facilitat per als que siguin gruixuts.

Aquesta situació es pot millorar utilitzant les corbes per assignar la pressió a línies més fines o més gruixudes.

Els ajustaments del pinzell per a les corbes tenen fins i tot botons de corba ràpida a la part superior. Algú que té dificultats per a fer traços fins hauria de provar el penúltim botó còncau, mentre que algú que té dificultats per a fer traços gruixuts hauria de provar el tercer botó, la forma S.

Sota l'estri de corbes hi ha dues opcions més:

Comparteix la corba amb tots els ajustaments

Això és per a la llista de sensors. A l'alternar-ho, tots els sensors utilitzaran la mateixa corba. Sense marcar, tots els sensors marcats tindran corbes separades.

Mode de càlcul de les corbes

Això indica com s'utilitzaran els múltiples valors de les corbes del sensor. Les corbes sempre van de 0 a 1,0, de manera que si una corba genera 0,5 i l'altra 0,7, llavors...

Multiplica

Multiplicarà els dos valors, 0,5*0,7 = 0,35.

Addició

S'afegiran els dos a un màxim d'1,0, de manera que 0,5+0,7 = 1,2, el qual es limitarà a 1,0.

Màxim

Compararà els dos i triarà el més gran. Així que en el cas de 0,5 i 0,7, el resultat serà 0,7.

Mínim

Compararà el dos i triarà el més petit. Així que en el cas de 0,5 i 0,7, el resultat serà 0,5.

Diferència

Restarà el valor més petit del més gran, de manera que 0,7-0,5 = 0,2.

Potser serà millor veure-ho amb el següent exemple:

Els dos primers són normals, la resta amb diferents tipus de multiplicació.

És un pinzell amb la mida establerta al sensor de la distància.

És un pinzell amb la mida establerta al sensor de l'esvaïment.

La mida es calcula a partir dels sensors d'esvaïment i de la distància multiplicats.

La mida es calcula a partir dels sensors d'esvaïment i de la distància sumats l'un a l'altre. Fixeu-vos el gruix que té.

La mida prendrà el valor màxim des dels valors dels sensors d'esvaniment i distància.

La mida prendrà el valor mínim des dels valors dels sensors d'esvaniment i distància.

La mida es calcularà en tenir el més gran dels valors restat amb el menor.

Secció F - Opcions diverses

Desa temporalment les deformacions als predefinits (predefinits en brut)

Això permet predefinits en brut. Els predefinits en brut emmagatzemen els ajustos que realitzeu mentre aquesta sessió del Krita estigui activa. Després d'això, tornaran als valors predeterminats. Els predefinits en brut es poden reconèixer per la icona a la part superior esquerra del predefinit.

La icona a la part superior esquerra dels dos primers predefinits indica que són «en brut», el qual vol dir que s'han realitzat ajustos al predefinit.

Canvia la mida de l'esborrador

Això canvia el pinzell a una mida emmagatzemada per separat quan s'utilitza la tecla E.

Canvia l'opacitat de l'esborrador

Igual que l'anterior, però amb l'opacitat de l'esborrador.

Vista prèvia instantània

Això permet alternar la vista prèvia instantània del pinzell. La vista prèvia instantània té una característica súper secreta: quan premeu l'etiqueta de vista prèvia instantània, i després feu clic dret, es mostrarà un control lliscant del llindar. Aquest control lliscant determina en quina mida del pinzell s'activarà la vista prèvia per al pinzell. Això és útil perquè els pinzells petits poden ser més lents amb la vista prèvia instantània, de manera que el llindar garanteix que només s'activi quan sigui necessari.

Els ajustaments del pinzell al llenç

Hi ha ajustaments del pinzell al llenç. Si obriu la paleta emergent, hi hauria d'haver una icona a la part inferior dreta. Premeu-la per a mostrar els ajustaments del pinzell al llenç. Hi veureu diversos controls lliscants, per a fer petits canvis amb rapidesa.

A la part superior es mostra el predefinit actualment actiu. Al costat d'aquest hi ha un botó d'ajustaments, feu-hi clic per obtenir una llista dels ajustaments que es poden mostrar i organitzar per al motor de pinzell indicat. Feu servir les fletxes cap amunt i cap avall per ordenar la seva posició, i després les fletxes cap a l'esquerra i cap a la dreta per afegir o eliminar de la llista. També podeu arrossegar i deixar anar.

Crear un pinzell predefinit

Ara, crearem un pinzell senzill per a provar les aigües amb:

Obtenir un valor predeterminat per al motor de pinzell.

Primer, obriu els ajustaments amb la tecla de funció F5.

Després, premeu la fletxa a la part superior esquerra per obrir el selector de predefinits. Allà, premeu la icona «+» per obtenir una llista dels motors. Per a aquest pinzell crearem un pinzell de píxels.

Exemple: crear un pinzell de tinta

Dibuixeu al bloc des de zero per a veure com es veurà el pinzell actual. Si es fa correctament, hauríeu de tenir una amplada del pinzell de 5 px que tindrà la pressió establerta a opacitat.

Primer desactivarem l'opacitat. Feu clic a l'opció Opacitat des de la llista al costat dret. Els ajustaments ara s'haurien d'haver canviat a una gran corba. Aquesta serà la corba del sensor.

Desmarqueu la casella de selecció Activa els ajustaments per al llapis.

Proveu al bloc des de zero... encara sembla haver-hi quelcom que afecta l'opacitat. Això es deu a l'opció Flux.

Seleccioneu l'opció Flux des de la llista al costat dret. El flux és com l'opacitat, excepte que el flux és per al toc i l'opacitat és per al traç.

Desmarqueu també la casella de selecció Activa els ajustaments per al llapis. Intenteu-ho de nou.

Ara hauríeu d'estar arribant a algun lloc amb un pinzell de tinta. Encara és massa petit i sembla granulat. Feu clic a Punta del pinzell a les opcions del motor de pinzell.

Aquí, el diàmetre serà la mida de la punta del pinzell. Podeu tocar el control lliscant per a canviar la mida, o fer-hi clic dret i escriure un valor. Establiu-ho a 25 i torneu-ho a provar. Hauria de ser molt millor.

Ara, per fer que el pinzell se senti una mica més suau, baixeu el paràmetre de l'esvaïment a aproximadament 0,9. Això li donarà a la màscara del pinzell una vora més suau.

Si torneu a realitzar la prova, notareu que l'esvaïment no sembla tenir gaire efecte. Això té a veure amb l'espaiat dels tocs: com més a prop estan, més dura és la línia. De manera predeterminada, això és 0,1, el qual és una mica baix. Si l'establiu a 10 i ho proveu, veureu quin tipus d'efecte té l'espaiat. La casella de selecció Automàtic canviarà la manera en què es calcula l'espaiat, i l'Espaiat automàtic amb un valor de 0,8 és el millor valor per als pinzells de tinta. Recordeu que podeu fer servir el clic dret per a escriure un valor.

Ara, quan realitzeu la prova, l'esvaïment semblarà tenir un efecte normal... excepte en les mides realment petites, les quals semblen pixelades. Per a desfer això, marqueu la casella de selecció Antialiàsing. Si torneu a provar, ara les línies haurien de ser molt més agradables.

Desar el pinzell nou

Quan estigueu satisfet, aneu a la part superior esquerra i seleccioneu Desa el pinzell predefinit nou.

Obtindreu el diàleg per a desar el predefinit. El nom del pinzell serà quelcom com «El meu predefinit». Després, seleccioneu guilabel:Carrega des de la biblioteca d'icones per obtenir la biblioteca d'icones. Trieu una bonica icona d'eina i premeu D'acord.

La icona es carregarà a dins del mini bloc des de zero de l'esquerra. Ara gargotegeu-hi un bon traç. Si sentiu que heu comès un error, torneu a la biblioteca d'icones per a carregar una icona nova.

Finalment, premeu Desa i es crearà el vostre pinzell.

Encara podreu modificar una mica més el vostre pinzell de tinta per a...

Canviar la quantitat de pressió que necessitareu aplicar al pinzell perquè sigui de mida completa.

Per a fer això, seleccioneu l'opció Mida i premeu el sensor de pressió des de la llista al costat de la corba. La corba s'hauria de veure com una línia recta. Ara, si voleu un pinzell que es faci gran amb poca pressió, marqueu la corba per a fer un punt i arrossegueu-la cap a la part superior esquerra. Com més gran sigui el punt a la part superior esquerra, més extrem serà l'efecte. Si, en canvi, voleu un pinzell en el qual s'hagi de prémer molt fort per arribar a la mida completa, arrossegueu el punt cap a la part inferior dreta. Aquest pinzell serà útil per a detalls fins. No oblideu desar els canvis per al vostre pinzell quan acabeu.

Fer que les línies fines resultin encara més suaus mitjançant l'opció del flux.

Per a fer-ho, seleccioneu l'opció Flux i torneu a activar la casella de selecció Activa els ajustaments per al llapis. Ara, si ho proveu, serà una mica més suau, però potser massa. Feu clic a la corba per a fer un punt i arrossegueu-lo a la part superior esquerra, a la meitat de l'horitzontal del primer quadrat de la quadrícula. Ara, si ho proveu, les línies fines seran molt més suaus, però com més forta sigui la vostra pressió, més dur es tornarà el pinzell.

Compartir els pinzells

Bé, així que heu creat un pinzell nou i voleu compartir-lo. Hi ha diverses maneres de compartir un pinzell predefinit.

La manera recomanada de compartir pinzells i predefinits és utilitzant el sistema per a paquets de recursos. Tenim instruccions detallades sobre com emprar-lo a la pàgina per a la gestió dels recursos.

No obstant això, hi ha diverses maneres antigues de compartir els pinzells que poden ser útils en importar i carregar paquets molt antics:

Compartir un sol predefinit

Hi ha tres tipus de recursos que poden tenir un sol predefinit:

Un fitxer de predefinit per a la pintura: aquest és el predefinit pròpiament dit, amb la icona i les corbes a dins.

Un fitxer de pinzell: és la punta del pinzell. Quan utilitzeu pinzells emmascarats, n'hi haurà dos d'aquests.

Un fitxer de patró: això és quan empreu textures.

Per tant, quan tingueu un pinzell que faci servir puntes predefinides úniques per a la punta del pinzell o un pinzell emmascarat, o textures úniques, i necessiteu compartir aquests recursos amb alguna altra persona.

Per a trobar aquests recursos, aneu a Arranjament ‣ Gestiona els recursos ‣ Obre la carpeta de recursos.

Allà, el fitxer del predefinit estarà dins de la carpeta «paintoppresets» (predefinits de pintura), les puntes del pinzell dins de la carpeta «brushes» (pinzells) i la textura dins de la carpeta «patterns» (patrons).

Importar un únic fitxer KPP.

Ara, si voleu utilitzar un únic predefinit, haureu d'anar al selector de predefinits amb la drecera F6 i prémer la icona de carpeta. Això oferirà un diàleg de fitxers. Aneu al fitxer KPP i obriu-lo per importar.

Si hi ha puntes de pinzell i patrons que vénen amb el fitxer, feu el mateix amb el patró a través de l'acoblador Patró, i per a la punta del pinzell aneu a la llista d'ajustaments (F5) i després aneu a l'opció «punta del pinzell». Allà, seleccioneu el pinzell predefinit i després el botó «Importa» per obrir el diàleg de fitxers.

Compartir mitjançant ZIP (antiquat)

El compartir mitjançant ZIP s'hauria de substituir amb paquets de recursos, però els paquets de pinzell més antics estan emmagatzemats en fitxers ZIP.

Utilitzar un ZIP amb els fitxers pertinents.

Aneu a Arranjament ‣ Gestiona els recursos ‣ Obre la carpeta de recursos per obrir la carpeta de recursos.

A continuació, obriu el fitxer ZIP.

Copieu les carpetes «brushes» (pinzells), «paintoppresets» (predefinits de pintura) i «patterns» (patrons) des del fitxer ZIP a la carpeta «resource» (recursos). Hauríeu d'obtenir un avís per a fusionar les carpetes, accepteu-ho.

Torneu a iniciar el Krita.

Gaudiu dels vostres pinzells!

Editor de pinzells en el llenç

L'editor de pinzells del Krita està, com sabreu, a la tecla de funció F5. No obstant això, de vegades només voldreu modificar un únic paràmetre amb rapidesa. Potser fins i tot només en el mode llenç. L'editor de pinzells en el llenç o HUD, permet fer-ho possible. S'hi pot accedir des de la paleta emergent, fent clic al botó de fletxa dreta que hi ha a la part inferior.

Podeu canviar la quantitat d'ajustaments visibles i el seu ordre fent clic a la icona d'ajustaments que hi ha al costat del nom del pinzell.

A l'esquerra hi ha tots els ajustaments no utilitzats, al costat dret hi ha tots els ajustaments utilitzats. Utilitzeu els botons > i < per a moure un ajustament entre les dues columnes. Els botons Amunt i Avall permeten ajustar l'ordre dels ajustaments emprats, ja que com penseu, el Flux és més important que la Mida.

Aquests ajustaments són per al motor de pinzell, de manera que els diferents motors de pinzell podran tenir configuracions diferents.

Eines d'emmirallar

Dibuixeu en un costat d'una línia d'emmirallar mentre que l'eina d'emmirallar copiarà el resultat a l'altre costat. A les eines d'emmirallar s'hi accedeix a través de la barra d'eines. Podreu moure la ubicació de la línia d'emmirallar prenent la nansa.

Les eines d'emmirallar donen un resultat similar a l'Multibrush Tool, però a diferència del pinzell múltiple, el qual només fa pinzellades com l'Freehand Brush Tool, les eines d'emmirallar es poden utilitzar amb qualsevol altra eina que faci traços de pinzell, com ara l'Straight Line Tool i l'Bezier Curve Tool, i fins i tot amb l'eina de pinzell múltiple.

Eina d'emmirallament horitzontal: Reflecteix el resultat al llarg de l'eix horitzontal.

Eina d'emmirallament vertical: Reflecteix el resultat al llarg de l'eix vertical.

Hi ha opcions addicionals per a cada eina. Hi podreu accedir fent clic a la fletxa desplegable situada a la dreta de cada eina.

Oculta la línia X/Y del mirall (alternar): bloqueja l'eix del mirall i oculta la línia de l'eix.

Desbloqueja/Bloqueja (alternar): oculta la icona de moviment a la línia de l'eix.

Mou al centre del llenç: mou la línia de l'eix al centre del llenç.

Emmirallar al llarg d'una línia de gir

L'eina d'emmirallar només pot reflectir al llarg d'una línia perfectament vertical o horitzontal. Per a reflectir al llarg d'una línia que es troba en un angle girat, utilitzeu l'Multibrush Tool i els seus diversos paràmetres, disposa d'opcions més avançades a més de la simetria bàsica.

Pintar amb assistents

El sistema d'assistents permet tenir una mica d'ajuda mentre dibuixeu línies rectes o cercles.

Poden funcionar com una forma de vista prèvia, o podeu ajustar-los amb l'eina del pinzell a mà alçada. En les Opcions de l'eina per al pinzell a mà alçada, podreu alternar Ajusta als assistents per activar l'ajust.

Assistents en acció del punt de fuga al Krita.

En el Krita hi ha disponibles els següents assistents:

Tipus

Hi ha diversos tipus en el Krita. Podreu seleccionar un tipus d'assistent a través de l'acoblador Opcions de l'eina.

El·lipse

Assistent per a dibuixar el·lipses i cercles.

Aquest assistent consta de tres punts: els dos primers són l'eix de l'el·lipse i l'últim és per a determinar la seva amplada.

El·lipse concèntrica

El mateix que una el·lipse, però permet crear el·lipsis que són concèntriques entre si.

Si premeu Majús. mentre sosteniu les dues primeres nanses, s'ajustaran perfectament les línies horitzontal o vertical. Premeu Majús. mentre sosteniu la tercera nansa, i s'ajustarà a un cercle perfecte.

Perspectiva

Aquest regle pren quatre punts i crea una quadrícula de perspectiva.

Aquesta quadrícula es pot utilitzar amb el sensor de «perspectiva», el qual pot influir en els pinzells.

Si premeu Majús. mentre sosteniu qualsevol de les nanses de cantonada, s'ajustaran a una de les altres nanses de cantonada, en conjunt.

Regle

En aquest grup hi ha tres assistents:

Regle

Ajuda a crear una línia recta entre dos punts.

Regle infinit

Extrapola una línia recta més enllà dels dos punts visibles en el llenç.

Regle paral·lel

Aquest regle permet dibuixar una línia paral·lela a la línia entre els dos punts en qualsevol lloc del llenç.

Si premeu Majús. mentre sosteniu les dues primeres nanses, s'ajustaran perfectament les línies horitzontal o vertical.

Spline

Aquest assistent permet col·locar i ajustar quatre punts per a crear una corba de Bezier cúbica. Després podreu dibuixar al llarg de la corba, ajustant el traç del pinzell directament a la línia de la corba. Corbes perfectes cada vegada!

Si premeu Majús. mentre sosteniu les dues primeres nanses, s'ajustaran perfectament les línies horitzontal o vertical. Premeu Majús. mentre sosteniu la tercera o quarta nansa, s'ajustaran en relació amb on estan adjuntades.

Punt de fuga

Aquest assistent permet crear un punt de fuga, normalment utilitzat per a una línia de l'horitzó. Es dibuixa una línia de vista prèvia i totes les línies que s'hi ajustin seran dibuixades amb aquesta línia.

És un punt, amb quatre punts d'ajuda per alinear amb les línies de perspectiva creades prèviament.

Són creats i manipulats amb l'Assistant Tool.

Si premeu Majús. mentre manteniu premuda la nansa central, s'ajustaran perfectament les línies horitzontal o vertical, depenent de la posició on es trobaven anteriorment.

Canviat a la versió 4.1: L'assistent del punt de fuga també mostra diverses línies generals.

Quan acabeu de crear, o quan acabeu de moure un punt de fuga a l'assistent, aquest serà seleccionat. Això vol dir que podreu modificar la quantitat de línies que es mostren a les Opcions de l'eina per a l'Assistant Tool.

Punt d'ull de peix

Igual que amb l'assistent del punt de fuga, aquest assistent és per a un conjunt de línies paral·leles en un espai en 3D. Llavors, per a utilitzar-lo de manera efectiva, utilitzeu-ne dos, on el segon estarà a un angle de 90 graus del primer, i afegiu un punt de fuga al centre de tots dos. O combineu-ne un amb un regle paral·lel i un punt de fuga, o fins i tot un amb dos punts de fuga. Les possibilitats són molt grans.

Aquest assistent no només donarà retroalimentació/ajust entre els punts de fuga, sinó que també donarà retroalimentació a l'esquerra i dreta relatives de l'assistent. Això és perquè pugueu utilitzar-lo en casos extrems com panorames amb una facilitat relativa.

Si premeu Majús. mentre sosteniu les dues primeres nanses, s'ajustaran perfectament les línies horitzontal o vertical. Premeu Majús. mentre sosteniu la tercera nansa, i s'ajustarà a un cercle perfecte.

Guies d'aprenentatge

Feu una ullada a aquest debat en profunditat i guia d'aprenentatge a https://www.youtube.com/watch?v=OhEv2pw3EuI

Ajustar el Krita per a perspectives de dibuix tècnic

Ara que heu vist la gran varietat d'assistents de dibuix que ofereix el Krita, aquí teniu un exemple de com utilitzar-los i configurar el Krita per al dibuix tècnic.

Aquesta guia d'aprenentatge us donarà una idea sobre com configurar els assistents per a tipus específics de vistes tècniques.

Si en canvi voleu fer la veritable projecció, reviseu la categoria Projecció.

Ortogràfica

Ortogràfica és un mode en el que intenteu mirar quelcom des de l'esquerra o el davant. En general, intentareu mantenir-ho tot en l'escala exacta entre si, a diferència de amb la deformació de la perspectiva.

L'assistent clau que voldreu utilitzar aquí és el regle paral·lel. Podreu configurar-lo horitzontalment o verticalment, de manera que sempre tindreu accés a una quadrícula.

Axonomètrica

Totes aquestes es configuren emprant tres regles paral·lels.

Obliqua

Per a obliqua, establiu dos regles paral·lels a horitzontal i vertical, i un a un angle, representant la profunditat.

Dimètrica i isomètrica

La perspectiva isomètrica tècnicament té els tres regles establerts a 120° un de l'altra. Excepte quan és un joc isomètric, llavors és un tipus de projecció dimètrica on els valors de la diagonal estaran a 116,565° del principal. Aquest últim es pot configurar amb facilitat ajustant-lo amb els assistents a una quadrícula.

Trimétrica

És quan tots els angles són lleugerament diferents. Sovint sembla una isomètrica lleugerament angulosa.

Perspectiva lineal

Perspectiva d'1 punt

Una perspectiva d'1 punt es configura utilitzant 1 punt de fuga i dos regles paral·lels perpendiculars que es creuen.

Perspectiva de 2 punts

Una perspectiva de 2 punts es configura utilitzant 2 punts de fuga i 1 regle vertical paral·lel. Sovint, col·locar els punts de fuga fora del marc pot fer disminuir la seva força.

Perspectiva de 3 punts

Una perspectiva de 3 punts es configura utilitzant 3 regles del punt de fuga.

Lògica del punt de fuga

Hi ha un petit secret que les guies d'aprenentatge de la perspectiva no sempre expliquen, i aquest és que un punt de fuga és el punt on es troben dues línies paral·leles. Això vol dir que una perspectiva d'1 punt i una perspectiva de 2 punts són pràcticament el mateix.

Ho demostrarem mitjançant un petit experiment. Aquest és un bon problema antic: dibuixar un via de ferrocarril.

Probablement estigueu familiaritzat amb el problema: com determinar on anirà el següent travesser, ja que la projecció en perspectiva farà que es vegin més junts.

Normalment, la solució és dibuixar una línia al mig i després dibuixar línies en diagonal que travessin. Després de tot, aquestes línies són paral·leles, el qual vol dir que s'utilitza la mateixa distància exacta.

Però com són paral·leles, podem utilitzar un assistent del punt de fuga, i utilitzarem les nanses d'alineació per alinear-les amb la diagonal del travesser i amb l'horitzontal (aquí marcada amb vermell) del travesser.

Aquesta diagonal es podrà utilitzar després per a determinar la posició dels travessers:

A causa que qualsevol conjunt de línies té un punt de fuga (fora del pla a la vista del mapa), pot haver-hi una quantitat infinita de punts de fuga en una perspectiva lineal. Per tant, el Krita permet establir punts de fuga en lloc d'obligar-vos a utilitzar-ne només uns pocs.

Perspectiva de l'ull de peix

La perspectiva d'ull de peix funciona de manera molt similar a la perspectiva lineal, la gran diferència és que en una perspectiva d'ull de peix, qualsevol conjunt de línies paral·leles té dos punts de fuga, cadascun per un costat.

Llavors, per a configurar-les, la forma més fàcil és una horitzontal i una vertical en el mateix lloc, i un assistent de punt de fuga al mig.

Però, també podeu crear-ne un en horitzontal que sigui tan gran com l'altre en horitzontal, i posar-lo al mig:

Treballar amb imatges

Els ordinadors funcionen amb fitxers i com un programa de pintura, el Krita treballa amb imatges com el tipus de fitxer que crea i manipula.

Què contenen les imatges?

Si teniu un document de text, per descomptat contindrà lletres, enfilades en l'ordre correcte, de manera que l'ordinador les carregui com a frases coherents.

Dades rasteritzades

Aquestes són les dades principals de les capes de pintura que creeu. Així que aquestes seran els traços amb el pinzell de pintura i de prop es veuran pixelades. Un fitxer de múltiples capes contindrà diverses d'aquestes capes, que se superposaran una sobre l'altra per a crear la imatge final.

Un fitxer d'una sola capa generalment només contindrà dades rasteritzades.

Dades vectorials

Aquestes són operacions matemàtiques que li diuen a l'ordinador que dibuixi els píxels en un lloc. Això els farà molt més escalables, perquè simplement li diu a l'operació que faci les coordenades 4 vegades més grans per escalar-les. A causa d'aquestes dades vectorials, tot serà molt més editable, més lleuger, però alhora també es requerirà molt més ús de la CPU.

Dades de l'operació

Coses com les capes de filtratge, que li diuen al Krita que canviï els colors d'una capa, però també les màscares de transparència, capa de grup i les màscares de transformació es desen en fitxers de múltiples capes. La possibilitat de carregar-los dependrà del programari que va fer inicialment el fitxer. Així que el Krita podrà carregar i desar grups, màscares de transparència i efectes de capa des del PSD, però no podrà carregar o desar les màscares de transformació.

Metadades

Les metadades són informació com la data de creació, autor, descripció i també informació com els PPP (DPI).

Mida de la imatge

La mida de la imatge és la dimensió i la resolució del llenç. La mida de la imatge tindrà una efecte directe en la mida de fitxer del document del Krita. Com més píxels cal recordar i com més gran sigui la profunditat de bits del color, més gran serà el fitxer resultant.

DPI/PPI (PPP)

DPI vol dir punts per polsada, PPI vol dir píxels per polsada (la traducció és PPP per a ambdós). En la industria de la impressió, se suposa que la vostra impressora imprimeix a 300 DPI. Això vol dir que en realitat s'estan col·locant 300 punts de colors en una àrea igual que una polzada. Això indicarà la quantitat de píxels que tindrà la vostra obra d'art en una àrea relativa d'una polzada.

Els DPI són referents de la impressora, i els artistes mentre creen obres d'art haurien de tenir en compte els PPI. Segons els PPI que heu definit, les impressores podran decidir la mida de la vostra imatge en un tros de paper.

Alguns estàndards:

72 PPI

Aquests són els PPI predeterminats dels monitors com ho assumiran tots els programes. No és totalment correcte, ja que la majoria de monitors actuals tenen 125 PPI o fins i tot 300 PPI per als dispositius de retina. Tot i això, quan es crea una imatge per al consum des de l'ordinador, aquest serà el valor predeterminat.

120 PPI

Aquests s'utilitzen sovint com un estàndard per a cartells de baixa qualitat.

300 PPI

Aquests són el mínim que haureu d'utilitzar per a impressions de qualitat.

600 PPI

La qualitat emprada per a la línia artística dels còmics.

Profunditat del color

Repassem la profunditat de color a la pàgina Gestió del color. Cal entendre que el Krita té espais de color de la imatge i espais de color de la capa, els últims poden estalviar memòria si s'utilitzen correctament. Per exemple, tenir una capa amb la línia artística en escala de grisos pot reduir a la meitat el cost en memòria.

Espai de color de la imatge enfront de l'espai de color de la capa enfront la conversió.

Degut a que hi ha una diferència entre l'espai de color de la imatge i l'espai de color de la capa, només podreu canviar l'espai de color de la imatge a Imatge ‣ Propietats, el qual deixarà les capes soles. Però si voleu canviar l'espai de color del fitxer, incloses totes les capes, podreu fer-ho anant a Imatge ‣ Converteix l'espai de color de la imatge, això també convertirà tot l'espai de color de les capes.

Autor i descripció

El Krita desarà automàticament qui va crear la imatge en les metadades de la imatge. Juntament amb altres dades com la data i hora de creació i modificació, el Krita també mostrarà el temps d'edició d'un document en el diàleg d'informació del document, útil per a il·lustradors professionals i pintors que per velocitat volen realitzar un seguiment del temps que han treballat en el disseny gràfic per a fins de facturació. Detecta quan no heu realitzat accions durant un temps i té una precisió de ± 60 segons. Podeu netejar-ho des del diàleg d'informació del document i, per descomptat, descomprimint des de ZIP el vostre fitxer .kra i editant les metadades.

Aquestes coses es poden editar a Fitxer ‣ Informació del document, i per a la informació de l'autor Arranjament ‣ Configura el Krita ‣ Informació de l'autor. Els perfils es poden canviar sota Arranjament ‣ Perfil actiu d'autor.

Ajustar el color de fons del llenç

Podeu establir el color de fons del llenç mitjançant Imatge ‣ Color i transparència del fons de la imatge. Això permet canviar a un color de fons no transparent i canviar el color. També és útil per a certs formats de fitxer que forcen un color de fons en lloc de la transparència. Les exportacions a PNG i JPG empraran aquest color com el color predeterminat per omplir la transparència si no la voleu exportar.

Si veniu des d'un programa com el Paint Tool Sai, llavors utilitzeu aquesta opció o utilitzeu Estableix el color de fons del llenç a les opcions del fitxer nou, permetent-vos treballar en un entorn una mica més còmode, on la transparència no es representarà amb un tauler a quadres.

Transformacions bàsiques

Al menú de la imatge hi ha disponibles algunes transformacions bàsiques.

Inclina la imatge

Permet esbiaixar la imatge sencera i les seves capes.

Gira

Permet girar la imatge i totes les seves capes amb rapidesa.

Emmiralla horitzontalment/verticalment

Permet reflectir tota la imatge amb totes les seves capes.

Però hi ha més opcions a part d'aquestes...

Escapçar i canviar la mida del llenç

Podeu escapçar la imatge amb l'Crop Tool, per a retallar l'espai extra i millorar la composició.

Ajustar

Utilitzant Imatge ‣ Ajusta a la capa, el Krita canviarà la mida de la imatge a les dimensions de la capa seleccionada. És útil per a quan enganxeu una imatge massa gran a dins de la capa i voleu canviar la mida del llenç a les dimensions d'aquesta capa.

Imatge ‣ Ajusta a la selecció és un cosí més ràpid que l'eina d'escapçar. Aquesta ens ajudarà a canviar la mida del llenç a les dimensions de qualsevol selecció activa. Això és especialment útil en fer clic dret a la capa sobre la pila de capes i seleccionant Selecciona l'opac. Fent Imatge ‣ Ajusta a la selecció després, es retallarà el llenç al limit del contenidor.

Imatge ‣ Ajusta a la mida de la imatge en realitat és per a les capes, i ajustarà totes les capes a la mida de la imatge, fent que els vostres fitxers siguin més lleugers desfent-se de les dades invisibles.

Canviar la mida del llenç

També podeu canviar la mida del llenç mitjançant Imatge ‣ Redimensiona el llenç (o Ctrl + Alt + C). El diàleg es mostra a continuació.

En aquest sentit, les proporcions restringides s'asseguraran que l'alçada i amplada romanguin en proporció entre si. El desplaçament indica on s'afegirà l'espai nou del llenç al voltant de la imatge actual. Bàsicament, decidireu on va la imatge actual (si premeu el botó esquerre, anireu al centre esquerra i l'espai nou del llenç s'afegirà a la dreta de la imatge).

Una altra manera de canviar la mida del llenç segons calgui mentre es dibuixa, és quan es desplaça des del final del llenç, veureu aparèixer una fletxa. En fer-hi clic, s'estendrà el llenç en aquesta direcció. Veureu la fletxa marcada en vermell en el següent exemple:

Canviar la mida de la imatge

Escala la imatge a una mida nova permet canviar la mida de tota la imatge. A més, el més important aquí és que podreu canviar la resolució o augmentar la vostra imatge. Així que, per exemple, si inicialment estàveu treballant amb 72 PPI per a bloquejar formes grans i colors, imatges, etc. I ara realment voleu canviar i fer un treball detallat a 300 o 400 PPI, aquí és on faríeu el canvi.

Igual que en tots els altres diàlegs on apareix un enllaç de cadena, quan la cadena està vinculada, la relació d'aspecte es mantindrà. Per a desconnectar la cadena, simplement feu clic sobre els enllaços i les dues meitats se separaran.

Descompondre les imatges

Aquesta potent característica per a la manipulació de les imatges permet descompondre una imatge en els seus diferents components o canals.

Això és útil per a les persones que treballen en la impressió o per a les persones que manipulen les textures dels jocs. No hi ha cap funcionalitat per a la combinació, però el que podeu fer, si utilitzeu una sortida en color, és configurar dos dels canals per a l'addició amb els Modes de barreja.

Per a les imatges en escala de grisos en l'espai RGB, podeu utilitzar els modes de barreja Copia el vermell, Copia el verd i Copia el blau, utilitzant el vermell per al canal vermell de la imatge, etc.

Desar, exportar i obrir fitxers

Quan el Krita crea o obre un fitxer, mantindrà una còpia en memòria del fitxer que s'està editant. Això forma part de la manera com treballen els ordinadors: fan una còpia del seu fitxer a la RAM. Així, en desar, el Krita prendrà la seva còpia i la copiarà sobre el fitxer existent. Hi ha un parell de trucs que podreu fer amb el desament.

Desa

El Krita desa la imatge actual a la seva memòria en un lloc definit del disc dur. Si la imatge no s'havia desat abans, el Krita preguntarà a on desar-la.

Desa com a

Fa una còpia del vostre fitxer actual desant-lo amb un nom diferent. El Krita canviarà al fitxer acabat de crear com el seu document actiu.

Obre

Obre un fitxer desat. Molt senzill.

Exporta

Desa un fitxer en una ubicació nova sense obrir-lo. És útil per a quan esteu treballant en un fitxer de capes, però només necessiteu desar una versió aplanada d'aquest en una ubicació determinada.

Obre un document existent com a un document sense títol

Això és una mica estrany, però obre un fitxer i oblida on el vau desar, de manera que al prémer «desa» se us demanarà a on desar-lo. En altres programes a això també se li diu «importa».

Crea una còpia des de la imatge actual

Realitza una còpia nova de la imatge actual. Similar a Obre un document existent com a un document sense títol, però ho fa amb els fitxers ja oberts.

Desa la versió incremental

Desa la imatge actual com a «nom_fitxer»_XXX.kra i canvia al document actual.

Desa la còpia de seguretat incremental

Copia i reanomena l'última versió desada del vostre fitxer en un fitxer de còpia de seguretat i desa el vostre document amb el nom original.

Nota

Atès que el format de fitxer del Krita és un fitxer de dades comprimides, en cas d'un fitxer corrupte o malmès, podreu obrir-lo amb els gestors de fitxers i extreure el contingut de les capes. Això us ajudarà a recuperar la major quantitat possible de dades del fitxer. Al Windows, haureu de canviar-li el nom a nom_fitxer.zip per a poder-lo obrir.

Plantilles

Les plantilles només són fitxers .kra que es desen en una ubicació especial per tal que el Krita pugui arrencar ràpidament. Això és com Obre un document existent com a un document sense títol però amb un lloc millor a la interfície d'usuari.

Podeu crear el vostre propi fitxer de plantilla des de qualsevol fitxer .kra, emprant Crea una plantilla des de la imatge des del menú Fitxer. Això afegirà el document actual com a una plantilla nova, incloent totes les seves propietats juntament amb les capes i el contingut de la capa.

Tenim els valors predeterminats següents:

Plantilles per a còmics

Aquestes plantilles han estat dissenyades específicament perquè pugueu començar a dibuixar còmics. La plantilla de còmic es basa en un sistema vectorial i clons d'aquestes capes vectorials, les quals reflecteixen automàticament els canvis realitzats a les capes vectorials. Entre aquests dos, podreu dibuixar la vostra imatge sense por de dibuixar sobre la vinyeta. Utilitzeu Hereta l'alfa per a escurçar el dibuix per la vinyeta.

Plantilla per a còmics d'estil bandes Dessinée europeu.

Aquesta és una reminiscència del sistema utilitzat per exemple per a TinTin o Spirou et Fantasio. Aquestes vinyetes se centren en imatges àmplies i retalls horitzontals.

Plantilla per a còmics d'estil americà.

Aquesta és una reminiscència de antics còmics de DC i Marvel, com Batman o Capità Amèrica. Nou imatges per a una progressió ràpida de la història.

Plantilla per a manga.

Aquesta es basa en els còmics japonesos, i se centra en un canal vertical prim i un canal horitzontal gruixut, el qual garanteix que el lector acabi de veure la fila anterior abans de passar a la següent.

Reixa de ferro

12 vinyetes petites a la vostra disposició.

Plantilles per al disseny

Aquestes són plantilles per al disseny i tenen diversos valors predeterminats amb un PPP (ppi) adequat a la vostra disposició:

Cine 16:10

Cine 2.93:1

Presentació A3 apaïsada

Presentació A4 vertical

Pantalla 4:3

Disseny web

Plantilles per a rèflex digitals

Aquestes tenen alguna mida predeterminada per a les fotografies.

Canon 55D

Canon 5DMK3

Nikon D3000

Nikon D5000

Nikon D7000

Plantilles per a textures

Aquestes són per a crear textures en 3D, i estan entre els 1024 fins als 4092.

Introducció a les capes i les màscares

El Krita admet capes que ajuden a controlar millor les parts i elements de la vostra pintura.

Penseu en una obra d'art o un collage fet amb diverses piles de papers amb algun retall de paper, de manera que aquests mostrin el paper sota seu, mentre que altres el taparan. Si voleu canviar un element en l'obra d'art, substituïu aquest tros de paper en lloc de dibuixar-ho tot. En el Krita, en lloc de papers utilitzem Capes. Les capes formes part del document que pot o no ser transparent, poden ser més petites o més grans que el document en si, poden col·locar-se una al damunt d'una altra, amb nom i agrupades.

Les capes donen un millor control sobre la vostra obra d'art, per exemple, podeu tornar a pintar tota una obra d'art simplement treballant sobre la capa de color separada i, per tant, no destruint la línia artística que es troba sobre aquesta capa de color.

Podeu editar capes individuals, fins i tot pot afegir efectes especials com estils de la capa, modes de barreja, transparència, filtres i transformacions. El Krita prendrà totes aquestes capes en la seva pila de capes, inclosos els efectes especials i combinarà o compondrà una imatge final. Aquest és només un dels molts trucs de manipulació d'imatges digitals que el Krita es guarda sota la màniga!

En general, quan col·loqueu una capa de pintura a sobre d'una altra, la capa de pintura superior serà completament visible, mentre que la capa al seu darrere restarà enfosquida, closa o només parcialment visible.

Gestionar les capes

Alguns artistes dibuixen amb un nombre limitat de capes, però alguns prefereixen tenir diferents elements de l'obra d'art en una capa separada. El Krita disposa d'algunes bones característiques per a la gestió de les capes que faciliten aquesta tasca.

Podeu crear capes de grup i organitzar els elements de la vostra obra d'art.

L'ordre de les capes es pot canviar o es poden moure les capes dins i fora d'un grup a la pila de capes, simplement mantenint-les agafades i, fent un arrossega i deixa. Les capes també es poden copiar entre documents mentre es troba en el mode subfinestra, fent un arrossega i deixa des d'un document a un altre.

Aquestes característiques estalvien temps i també ajuden als artistes a mantenir el fitxer amb una pila de capes que serà fàcil d'entendre a les altres persones que treballin en el mateix fitxer. A més, aquestes capes i grups poden ser etiquetats i filtrats per colors, el qual ajudarà als artistes a diferenciar visualment.

Per assignar un rètol de color a la vostra capa o grup de capes, haureu de fer clic dret sobre la capa i triar un dels colors donats des del menú contextual. Per a eliminar un rètol de color ja existent, podeu fer clic sobre el quadre marcat amb una «x» al menú contextual.

Una vegada assigneu rètols de color a les vostres capes, podreu filtrar les que tinguin rètols de color similar fent clic sobre un o més colors a la llista desplegable situada a la cantonada superior dreta de l'acoblador Capes.

Tipus de capes

La imatge de dalt ens mostra els diferents tipus de capes a l'Layers. Cada tipus de capa té un propòsit diferent, per exemple, tots els elements vectorials només es poden posar sobre una capa vectorial i, de manera similar, els elements rasteritzats majoritàriament restaran sobre la capa de pintura, la pàgina Layers and Masks conté més informació sobre aquests tipus de capes.

Ara vegem com estan compostes aquestes capes en el Krita.

Com es componen les capes en el Krita?

En el Krita, les capes visibles formen una imatge composta, la qual es mostra en el llenç. L'ordre en el qual el Krita compon les capes és de baix a dalt, igual que la pila de papers de la que hem parlat anteriorment. A mesura que continuem afegint capes, la imatge que veiem canviarà d'acord amb les propietats de les capes recentment afegides a la part superior. Les capes de grup es componen per separat de les altres capes a la pila, excepte quan s'activa el mode curtcircuitat. Les capes dins d'un grup primer formaran una imatge composta i després es prendrà en consideració aquesta composició, mentre que la pila de capes es compondrà per a formar una imatge completa. Si s'activa el mode curtcircuitat en prémer la icona similar a una paret de maons, les capes dins del grup es consideraran com si estiguessin fora d'aquest grup en particular a la pila de capes, però, la visibilitat de les capes en un grup depèn de la visibilitat del grup.

Els grups en un fitxer PSD desat des del Photoshop tindran activat el mode curtcircuitat llevat que estiguin configurats específicament amb altres modes de barreja.

Heretar l'alfa o retallar les capes

Hi ha una característica de retall en el Krita anomenada hereta l'alfa. Es denota mitjançant una icona alfa a la pila de capes.

La primera vegada pot ser quelcom difícil d'entendre el com funciona aquesta característica en el Krita. Una vegada feu clic sobre la icona hereta l'alfa a la pila de capes, els píxels de la capa que esteu pintant estaran confinats a l'àrea de píxels combinats de totes les capes per sota seu. Això vol dir que si teniu la capa de fons predeterminada de color blanc com a primera capa, en fer clic sobre la icona hereta l'alfa i pintar en qualsevol capa de dalt semblarà no tenir cap efecte, ja que tot el llenç estarà emplenat de blanc. Per tant, es recomana col·locar la capa base on voleu que s'escurcin els píxels en una capa de grup. Com s'ha esmentat anteriorment, les capes de grup es componen per separat, per tant, la capa que és la capa més baixa d'un grup es convertirà en la capa delimitadora i el contingut de les capes per sobre d'aquesta s'escurçarà si hereta l'alfa està activada.

També podeu habilitar l'herència alfa en una capa de grup.

Màscares i filtres

El Krita admet l'edició no destructiva del contingut de la capa. L'edició no destructiva vol dir editar o canviar una capa o imatge sense canviar realment la imatge original de forma permanent, els canvis s'afegeixen simplement com a filtres o màscares sobre la imatge original mentre aquesta es manté intacta, això ajudarà molt quan el vostre flux de treball requereixi d'un endavant i tornar enrere constants. Podreu tornar a la imatge original fent clic en un botó. Simplement s'ocultarà el filtre o màscara que teniu sobre la vostra imatge inicial.

Podeu afegir diversos filtres a una capa amb la màscara de filtratge o afegir una capa de filtratge que afectarà a tota la imatge. Les capes també es poden transformar de forma no destructiva amb les màscares de transformació, i fins i tot tenir parts temporalment ocultes amb una màscara transparent. Els efectes no destructius com aquests són molt útils quan es canvia d'opinió més tard, o necessiteu fer un conjunt de variacions d'una certa imatge.

Nota

Podeu fusionar totes les capes visibles seleccionant-ho tot primer Capa ‣ Selecciona ‣ Capes visibles. Després, combineu-les totes barrejant-les amb Capa ‣ Combina amb la capa inferior.

Es pot accedir a aquests filtres i màscares mitjançant el menú del clic dret (com es mostra a la imatge de a sota) i la icona Més a l'acoblador Capes.

També podeu afegir un filtre com una màscara des del diàleg del filtre, fent clic al botó Crea una màscara de filtratge.

També es poden aplicar tots els filtres i màscares sobre un grup, cosa que facilitarà l'edició no destructiva de múltiples capes alhora. A la categoria Capes i màscares podreu llegir més sobre els tipus individuals de capes i màscares.

A l'acoblador Capes teniu més informació sobre les dreceres i altres fluxos de treball en la gestió de les capes.

Seleccions

Les seleccions permeten seleccionar una àrea específica de la vostra obra d'art per a canviar-la. Hi ha moltes eines de selecció disponibles que seleccionen de diferents maneres. Una vegada se selecciona una àrea, la majoria de les eines romandran dins d'aquesta àrea. En aquesta àrea podreu dibuixar o utilitzar degradats per obtenir ràpidament formes amb color i/o ombres amb vores sòlides.

Crear les seleccions

Les eines de selecció més comunes estan a la part inferior del quadre d'eines. Cada eina selecciona les coses de manera lleugerament diferent. Els enllaços per a cada eina s'inclouen en una descripció més detallada de com emprar-la.

Rectangular Selection Tool | toolselectrect | Selecciona la forma d'un quadrat.
Elliptical Selection Tool | toolselectellipse | Selecciona la forma d'un cercle.
Polygonal Selection Tool | toolselectpolygon | Feu clic on vulgueu que estigui cada punt del Polígon. Feu doble clic per a acabar el polígon i finalitzar la vostra àrea de selecció. Utilitzeu Majús. + Z per a desfer l'últim punt.
Outline Selection Tool | toolselectoutline | L'eina Contorn/Llaç s'utilitza per a una selecció aproximada en dibuixar el contorn.
Similar Color Selection Tool | toolselectsimilar | Eina de selecció de colors similars.
Contiguous Selection Tool | toolselectcontiguous | Contigu o «Vareta màgica» selecciona un camp de color. Ajusta el Difuminat per a permetre més canvis en el camp de color, de manera predeterminada limitat a la capa actual.
Path Selection Tool | toolselectpath | El traç selecciona una àrea basada en un traç vectorial, feu clic per obtenir cantonades més definides o arrossegueu per obtenir línies fluides i tanqueu el traç amb la tecla Retorn o torneu a connectar amb el primer punt.

Nota

També podeu utilitzar les eines de transformació sobre la vostra selecció, una excel·lent manera de provar diferents proporcions sobre parts de la vostra imatge.

Editar les seleccions

Les Opcions de l'eina per a cada eina de selecció permeten modificar la vostra selecció.

Acció | Modificador | Drecera
Substitueix | Ctrl | R
Interseca | Majús. + Alt | --
Afegeix | Majús. | A
Sostreu | Alt | S

Eliminar les seleccions

Si voleu suprimir tota la selecció, la forma més senzilla és desseleccionar-ho tot. Selecciona ‣ Desselecciona. Drecera Ctrl + Majús. + A.

Modes de visualització

A la cantonada inferior esquerra de la barra d'estat hi ha un botó per alternar com es mostra la selecció. Els dos modes de visualització són els següents: (Marxant) Formigues i màscares. El color vermell amb màscara es pot canviar a les preferències. Podeu editar el color sota Arranjament ‣ Configura el Krita ‣ Visualització ‣ Superposició de la selecció. Si no hi ha cap selecció, aquest botó no farà res.

El mode de visualització Formigues (predeterminat) és millor si voleu veure les àrees que no estan seleccionades.

El mode de visualització Màscara és bo si esteu interessat en veure els diferents nivells de transparència per a la vostra selecció. Per exemple, podreu crear una selecció amb un degradat.

Màscara de selecció global (pintar una selecció)

La màscara de selecció global és la vostra selecció que apareix sobre l'acoblador Capes. De manera predeterminada, aquest resta ocult, per la qual cosa l'haureu de fer visible mitjançant Selecciona ‣ Mostra la màscara de selecció global.

Una vegada que es mostra la màscara de selecció global, haureu de crear una selecció. L'avantatge d'utilitzar-ho, és que podreu pintar la vostra selecció utilitzant qualsevol de les eines de pintura normals. La informació es desarà com a escala de grisos. És possible que vulgueu canviar al mode de visualització Màscara si us resulta difícil veure els resultats.

Seleccionar des de la transparència de la capa

Podeu crear una selecció basada en la transparència d'una capa fent clic dret sobre la capa a l'acoblador Capes i seleccionant Selecciona l'opac des del menú contextual.

Tipus de selecció amb píxels i vectors

Les seleccions amb vectors permeten modificar la vostra selecció amb les eines d'ancoratge vectorial. Les seleccions amb píxels permeten modificar les seleccions amb la informació dels píxels. Tots dos tenen els seus avantatges i desavantatges. Podeu convertir un tipus de selecció a una altra.

Quan creeu una selecció, podreu seleccionar quin tipus de selecció voleu des del mode a les Opcions de l'eina per a la selecció: Píxels o Vectors.

Les seleccions amb vectors poden modificar-se com qualsevol altra forma vectorial amb l'eina «Maneta de formes», si intenteu pintar sobre una selecció amb vectors es convertirà en una selecció amb píxels. Les seleccions amb píxels es poden pintar amb qualsevol eina. També podeu convertir les formes vectorials a la selecció. Al seu torn, les seleccions amb vectors es poden crear a partir de formes vectorials i les formes vectorials es poden convertir en seleccions amb vectors utilitzant les opcions en el menú Selecció. El Krita afegirà una capa vectorial nova per a aquesta forma.

Una de les raons més habituals per a utilitzar les seleccions amb vectors és que us donen la capacitat de moure i transformar una selecció. Si moveu la selecció amb una selecció amb píxels, també es mourà el contingut de la capa. Si moveu la selecció sobre una selecció amb vectors, només es mourà la selecció. També podeu utilitzar l'eina d'edició de traços per a canviar els punts d'ancoratge a la selecció

Si heu començat amb una selecció amb píxels, encara podeu convertir-la en una selecció amb vectors per obtenir aquests avantatges. Aneu a Selecciona ‣ Converteix a selecció amb vectors.

Nota

Si teniu múltiples nivells de transparència quan convertiu una selecció en vectorial, perdreu els valors dels grisos.

Dreceres comuns mentre s'empren les seleccions

Copia -- Ctrl + C o Ctrl + Inser.

Enganxa -- Ctrl + V o Majús. + Inser.

Retalla -- Ctrl + X, Majús. + Supr.

Copia des de totes les capes -- Ctrl + Majús. + C

Copia la selecció a una capa nova -- Ctrl + Alt + J

Retalla la selecció a una capa nova -- Ctrl + Majús. + J

Mostra o oculta la selecció -- Ctrl + H

Crear scripts en Python

Aquesta secció inclou la creació de scripts en Python.

Contingut:

Introducció a la creació de scripts en Python

Què és la creació de scripts en Python?

Detalls tècnics

Com crear un connector en Python per al Krita

Aconseguir que el Krita reconegui el vostre connector

Crear una extensió

Crear dreceres de teclat configurables

Crear un acoblador

Senyals i ranures de PyQt

Conclusió

Introducció a la creació de scripts en Python

Novetat de la versió 4.0.

Quan vam oferir la creació de scripts en Python com un dels objectius de Kickstarter, ho vam poder implementar conjuntament amb els vectors i el text, va guanyar el vot de suport per una esllavissada. Algunes persones fins i tot només van triar Python i res més. Llavors, què és exactament la creació de scripts en Python?

Què és la creació de scripts en Python?

El Python és un llenguatge per a la creació de scripts, que es pot utilitzar per automatitzar les tasques. Això vol dir que per a la creació de scripts en Python al Krita hem afegit una API al Krita, la qual és una mica de programació que permet al Python accedir a les parts del Krita. Amb això podem crear acobladors, realitzar tasques de baixa categoria sobre un munt de fitxers diferents i fins i tot escriure els nostres propis exportadors. Les persones que treballen amb gràfics per ordinador, com ara artistes dels efectes especials i dels videojocs, utilitzen molt el Python per fer un munt de coses com fulls de sprites, automatitzar parts de l'exportació i molt més.

Ensenyar-vos Python queda fora de l'abast d'aquest manual. Tanmateix, com el Python és un llenguatge de programació extremadament popular i ideal per a principiants, hi ha un munt de material d'aprenentatge que trobareu ràpidament amb una simple cerca d'Internet com «aprendre Python».

En canvi, aquest manual se centrarà en com utilitzar Python per automatitzar i ampliar el Krita. Per això, primer començarem amb els conceptes bàsics: Com executar ordres de Python a l'Scripter.

Com habilitar el connector Scripter

El connector Scripter no és necessari per utilitzar Python, però és molt útil per a provar i jugar amb el Python. És una consola de Python, escrita en Python, la qual es pot utilitzar per escriure petits scripts i executar-los sobre la marxa.

Per obrir l'Scripter, aneu a Eines ‣ Scripts ‣ Scripter. Si no el veieu a la llista, aneu a Arranjament ‣ Configura el Krita ‣ Gestor de connectors del Python i marqueu «Scripter» a la llista per habilitar-lo. Si no veieu aquest connector, assegureu-vos d'estar emprant una versió actualitzada del Krita.

L'Scripter apareixerà amb una finestra de l'editor de text a la part superior i una finestra de sortida a sota. Introduïu el següent a l'àrea de text:

print("hello world")

Premeu el gran botó de reproducció o premeu Ctrl + R per executar l'script. Després, a l'àrea de sortida de sota hauria d'aparèixer el següent:

==== Warning: Script not saved! ====
hello world

Ara tenim una consola que pot executar funcions com print() des de l'entorn de Python. Però, com la utilitzem per a gestionar el Krita?

Executar ordres bàsiques del Krita

Per a permetre que el Python es comuniqui amb el Krita, utilitzarem el mòdul Krita. A la part superior de cada script, escriurem: from krita import *

Això permet que es parli amb el Krita a través de la Krita.instance(). Intentem duplicar les nostres habilitats de picar codi amb Python.

from krita import *

Krita.instance().action('python_scripter').trigger()

Hauríeu de veure una segona finestra oberta de l'Scripter. Amb bona pinta! Aquí hi ha un exemple una mica més avançat.

from krita import *

d = Krita.instance().createDocument(512, 512, "Python test document", "RGBA", "U8", "", 120.0)
Krita.instance().activeWindow().addView(d)

Això obrirà un document nou. Amb claredat, el Python dóna prou control per automatitzar el Krita. Amb el temps, esperem que la comunitat escrigui tot tipus de scripts que es puguin emprar simplement enganxant-los a l'Scripter.

Però, i si voleu escriure ordres noves? El millor lloc per a començar és molt simple: cercar exemples escrits per altres persones! Estalviareu molt temps si algú més ha escrit un codi en el qual podeu basar el vostre treball. També val la pena mirar a través dels connectors en Python, els quals es troben a /share/krita/pykrita. També hi ha una guia pas a pas per a Com crear un connector en Python per al Krita en aquest manual.

Però és probable que necessiteu més informació. Per això, necessitarem veure què hi ha amagat al darrere de l'asterisc quan import * from Krita. Per a saber quines funcions del Krita hi ha disponibles i com usar-les, haureu de consultar la documentació de referència de l'API del Krita.

API del Krita

Descripció general de l'API de LibKis [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/index.html]

Documentació de les classes del Krita [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/classKrita.html]

Al començament, pot semblar que aquestes pàgines contenen molt d'argot. Això es deu al fet que la documentació de l'API del Krita prové del llenguatge en C++ subjacent amb el qual està escrit el Krita. La màgia succeeix a causa d'una eina de Python anomenada SIP, la qual possibilita que el Python parli en C++ i que d'aquesta manera parli amb el Krita. El resultat final és que quan fem import krita i cridem a les funcions, en realitat estem utilitzant els mètodes de C ++ enumerats en aquesta documentació.

Vegem com funciona això amb més detall. Vegem el segon enllaç, la referència a les classes del Krita [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/classKrita.html#aa55507903d088013ced2df8c74f28a63]. Allà veurem totes les funcions disponibles per a la instància del Krita. Si escriviu dir(Krita.instance()) en Python, hauria de coincidir molt amb aquesta pàgina. Vegeu la documentació de les funcions createDocument(), activeWindow() i action() que hem emprat anteriorment.

Una de les coses més confuses és veure totes les classes de C++ que utilitza el Krita, incloses les classes de les Qt que comencen amb Q. Però aquí resideix la bellesa de SIP: tracta de fer que la traducció d'aquestes classes a Python sigui el més senzilla i directe possible. Per exemple, veureu que la funció filters() retorna una QStringList. No obstant això, el SIP convertirà aquestes QStringLists en una llista de cadenes normals de Python.

from krita import *

print(Krita.instance().filters())

Sortides com:

['asc-cdl', 'autocontrast', 'blur', 'burn', 'colorbalance', 'colortoalpha', 'colortransfer',
'desaturate', 'dodge', 'edge detection', 'emboss', 'emboss all directions', 'emboss horizontal and vertical',
'emboss horizontal only', 'emboss laplascian', 'emboss vertical only', 'gaussian blur', 'gaussiannoisereducer',
'gradientmap', 'halftone', 'height to normal', 'hsvadjustment', 'indexcolors', 'invert', 'lens blur', 'levels',
'maximize', 'mean removal', 'minimize', 'motion blur', 'noise', 'normalize', 'oilpaint', 'perchannel', 'phongbumpmap',
'pixelize', 'posterize', 'raindrops', 'randompick', 'roundcorners', 'sharpen', 'smalltiles', 'threshold', 'unsharp',
'wave', 'waveletnoisereducer']

Tanmateix, de vegades la conversió no va tan bé.

from krita import *

print(Krita.instance().documents())

dóna quelcom com això:

[<PyKrita.krita.Document object at 0x7f7294630b88>,
<PyKrita.krita.Document object at 0x7f72946309d8>,
<PyKrita.krita.Document object at 0x7f7294630c18>]

Aquesta és una llista de quelcom, és clar. Però com utilitzar-la? Si tornem a la pàgina de documentació de l'API del Krita i mirem la funció, documents() veurem que en realitat hi ha un enllaç a la classe «Document». Si seguiu aquest enllaç [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/classDocument.html], veureu que el document ha cridat a una funció anomenada name(), la qual retorna el nom del document, i les funcions width() i height(), les quals retornen les dimensions. Llavors, si volguéssim generar un informe amb informació sobre els documents en el Krita, podríem escriure un script com aquest:

from krita import *

for doc in Krita.instance().documents():
    print(doc.name())
    print(" "+str(doc.width())+"x"+str(doc.height()))

Obtindrem una sortida com:

==== Warning: Script not saved! ====
Unnamed
 2480x3508
sketch21
 3508x2480
Blue morning
 1600x900

Esperem que això us doni una idea sobre com navegar per la documentació de l'API.

L'API del Krita té moltes més classes, podeu accedir-hi anant a la llista de la part superior esquerra, o simplement fent clic en els seus noms per accedir a la seva documentació de l'API. Les funcions print() o dir() també són els vostres amics aquí. Aquesta línia imprimirà una llista de totes les accions en el Krita. Podeu canviar una d'aquestes ordres en lloc de «python_scripter» a l'exemple anterior.

[print([a.objectName(), a.text()]) for a in Krita.instance().actions()]

El mòdul de Python inspect es va dissenyar per a aquest tipus de tasques. Aquesta és una funció útil per a imprimir informació sobre una classe a la consola.

import inspect
def getInfo(target):
    [print(item) for item in inspect.getmembers(target) if not item[0].startswith('_')]

getInfo(Krita.instance())

Finalment, a més de la documentació de la LibKis, la documentació de les Qt, ja que el Krita utilitza el PyQt per exposar gairebé tota l'API de les Qt al Python. Podeu construir finestres senceres amb botons i formularis d'aquesta manera, emprant les mateixes eines que empra el Krita! Podeu llegir la documentació de les Qt [https://doc.qt.io/] i la documentació de PyQt [https://www.riverbankcomputing.com/static/Docs/PyQt5/] per obtenir més informació referent a això, i també podeu estudiar els connectors inclosos per a veure com funcionen.

Detalls tècnics

Creació de scripts en Python a Windows

Perquè la creació de scripts en Python funcioni en el Windows 7/8/8.1, haureu d'instal·lar Universal C Runtime des del lloc web de Microsoft [https://www.microsoft.com/en-us/download/details.aspx?id=48234]. (Windows 10 ja ve amb ell).

Python 2 i 3

De manera predeterminada, el Krita es compila per a Python 3.

Tanmateix, és possible compilar-lo amb Python 2. Per a fer-ho, haureu d'afegir el següent a la línia de configuració del «cmake»:

-DENABLE_PYTHON_2=ON

Com crear un connector en Python per al Krita

És possible que tingueu alguns bons scripts escrits a l'executor Scripter del Python, però potser voleu fer més amb ell i executar-lo automàticament. Embolcallar el vostre script en un connector pot donar-vos molta més flexibilitat i executar scripts des de l'editor Scripter.

Bé, fins i tot si coneixeu el Python realment bé, hi ha alguns petits detalls perquè el Krita reconegui un connector en Python. De manera que aquesta pàgina us donarà una descripció general sobre com crear els diferents tipus de scripts en Python únics al Krita.

Aquestes mini guies d'aprenentatge estan escrites per persones amb un coneixement bàsic del Python, i de manera que fomenten l'experimentació en lloc de copiar i enganxar el codi, així que llegiu el text detingudament.

Aconseguir que el Krita reconegui el vostre connector

Un script al Krita té dos components: directori de l'script (conté els fitxers en Python per al vostre script) i un fitxer «.desktop» que el Krita fa servir per a carregar i registrar el vostre script. Perquè el Krita carregui el vostre script, tots dos hauran d'estar al subdirectori «pykrita» de la vostra carpeta de recursos del Krita (sota Linux a ~/.local/share/krita/pykrita). Per trobar la vostra carpeta de recursos, inicieu el Krita i feu clic a l'element de menú Arranjament ‣ Gestiona els recursos. Això obrirà un diàleg. Feu clic al botó Obre la carpeta de recursos. Aquest hauria d'obrir un gestor de fitxers en el vostre sistema amb la carpeta de recursos del Krita. Vegeu els documents de l'API [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/index.html] sota «Auto starting scripts». Si no hi ha una subcarpeta «pykrita» al directori de recursos del Krita, utilitzeu el vostre gestor de fitxers per crear-la.

Els scripts s'identifiquen per un fitxer que acaba amb una extensió .desktop, el qual conté informació sobre l'script en si.

Per tant, per a cada connector haureu de crear una carpeta i un fitxer d'escriptori.

El fitxer d'escriptori s'hauria d'assemblar al següent:

[Desktop Entry]
Type=Service
ServiceTypes=Krita/PythonPlugin
X-KDE-Library=myplugin
X-Python-2-Compatible=false
X-Krita-Manual=myPluginManual.html
Name=My Own Plugin
Comment=Our very own plugin.

Type

Aquest sempre haurà de ser «service» (servei).

ServiceTypes

Aquest sempre haurà de ser «Krita/PythonPlugin» per als connectors en Python.

X-KDE-Library

Aquest haurà de ser el nom de la carpeta del connector que acabeu de crear.

X-Python-2-Compatible

Quan és compatible amb el Python 2. Si el Krita es va construir amb el Python 2 en lloc del 3 (-DENABLE_PYTHON_2=ON a la configuració del «cmake»), llavors aquest connector no apareixerà a la llista.

X-Krita-Manual

Un valor opcional que apuntarà a l'element manual. Això es mostra al gestor de connectors en Python. Si és un fitxer HTML, es mostrarà com a text enriquit [https://doc.qt.io/qt-5/richtext-html-subset.html], en cas contrari, es mostrarà com a text sense format.

Name

El nom que es mostrarà al gestor de connectors en Python.

Comment

La descripció que es mostrarà al gestor de connectors en Python.

Els connectors en Python del Krita hauran de ser mòduls del Python, així que assegureu-vos que hi hagi un script __init__.py que contingui quelcom com...

from .myplugin import *

On «.myplugin» és el nom del fitxer principal del vostre connector. Si reinicieu el Krita, ara hauria de mostrar-lo als ajustaments del Gestor de connectors en Python, però estarà en gris, perquè no hi ha el «myplugin.py». Si passeu per sobre dels connectors inhabilitats, veureu l'error.

Resum

En resum, si voleu crear un script anomenat myplugin:

al directori resources/pykrita del Krita creareu

una carpeta anomenada myplugin

un fitxer anomenat myplugin.desktop

a la carpeta myplugin creareu

un fitxer anomenat __init__.py

un fitxer anomenat myplugin.py

al fitxer __init__.py introduïu aquest codi:

from .myplugin import *

al fitxer d'escriptori introduïu aquest codi:

[Desktop Entry]
Type=Service
ServiceTypes=Krita/PythonPlugin
X-KDE-Library=myplugin
X-Python-2-Compatible=false
Name=My Own Plugin
Comment=Our very own plugin.

escriviu el vostre script al fitxer «myplugin/myplugin.py».

Crear una extensió

Les extensions [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/classExtension.html] són scripts en Python relativament senzills que s'executen durant l'inici del Krita. Es fan estenent la classe «Extension», i la majoria de l'extensió en nu es veu així:

from krita import *

class MyExtension(Extension):

    def __init__(self, parent):
        #This is initialising the parent, always  important when subclassing.
        super().__init__(parent)

    def setup(self):
        pass

    def createActions(self, window):
        pass

# And add the extension to Krita's list of extensions:
Krita.instance().addExtension(MyExtension(Krita.instance()))

Aquest codi, per descomptat, no fa res. Normalment, a «createActions» afegim accions al Krita, de manera que podrem accedir al nostre script des del menú Eines.

Primer, crearem una acció [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/classAction.html]. Podem fer-ho amb facilitat amb Window.createAction() [https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/classWindow.html#a72ec58e53844076c1461966c34a9115c]. El Krita cridarà a «createActions» per a cada finestra que es creï i passarà l'objecte a la finestra correcte que hem d'utilitzar.

Així que...

def createActions(self, window):
    action = window.createAction("myAction", "My Script", "tools/scripts")

«myAction»

Això haurà de ser substituït amb un ID únic que el Krita utilitzarà per a trobar l'acció.

«My Script»

Això és el que serà visible al menú d'eines.

Si ara reinicieu el Krita, tindreu una acció anomenada «My Script». Encara no fa res, perquè no ho l'hem connectat a un script.

Llavors, creem un senzill script d'exportació de documents. Afegim el següent a la classe «Extension», assegureu-vos que estigui a sobre d'on afegiu l'extensió al Krita:

def exportDocument(self):
    # Get the document:
    doc =  Krita.instance().activeDocument()
    # Saving a non-existent document causes crashes, so lets check for that first.
    if doc is not None:
        # This calls up the save dialog. The save dialog returns a tuple.
        fileName = QFileDialog.getSaveFileName()[0]
        # And export the document to the fileName location.
        # InfoObject is a dictionary with specific export options, but when we make an empty one Krita will use the export defaults.
        doc.exportImage(fileName, InfoObject())

I afegiu la importació per a «QFileDialog» a sobre amb les importacions:

from krita import *
from PyQt5.QtWidgets import QFileDialog

Després, per a connectar l'acció amb el nou document d'exportació:

def createActions(self, window):
    action = window.createAction("myAction", "My Script")
    action.triggered.connect(self.exportDocument)

Aquest és un exemple d'una connexió de senyal/ranura [https://doc.qt.io/qt-5/signalsandslots.html], que les aplicacions Qt com el Krita utilitzen molt. Repassarem una mica més endavant com crear les nostres pròpies senyals i ranures.

Reinicieu el Krita i la vostra nova acció hauria d'exportar el document.

Crear dreceres de teclat configurables

Ara, la vostra nova acció no apareix a Arranjament ‣ Configura el Krita ‣ Dreceres de teclat.

Per diverses raons, el Krita només afegeix accions al menú de dreceres quan estan presents en un fitxer «.action». El fitxer d'acció perquè la nostra acció s'afegeixi a les dreceres haurà de tenir aquest aspecte:

<?xml version="1.0" encoding="UTF-8"?>
<ActionCollection version="2" name="Scripts">
    <Actions category="Scripts">
        <text>My Scripts</text>

        <Action name="myAction">
        <icon></icon>
        <text>My Script</text>
        <whatsThis></whatsThis>
        <toolTip></toolTip>
        <iconText></iconText>
        <activationFlags>10000</activationFlags>
        <activationConditions>0</activationConditions>
        <shortcut>ctrl+alt+shift+p</shortcut>
        <isCheckable>false</isCheckable>
        <statusTip></statusTip>
        </Action>
    </Actions>
</ActionCollection>

<text>My Scripts</text>

Això crearà una subcategoria sota els scripts anomenada «My Scripts» per afegir-la a les vostres dreceres.

name

Aquest haurà de ser l'ID exclusiu que vàreu crear per a la vostra acció en crear-lo a l'ajust de l'extensió.

icon

El nom d'una possible icona. Aquesta només es mostrarà al Plasma del KDE, perquè els usuaris del Gnome i de Windows es van queixar que es veien lletges.

text

El text que es mostrarà a l'editor de les dreceres.

whatsThis

El text que es mostrarà quan una aplicació Qt cridi específicament a «Què és això», la qual és una acció d'ajuda.

toolTip

El consell de l'eina, apareixerà en passar per sobre.

iconText

El text que es mostrarà quan es mostri en una barra d'eines. Així, per exemple, «Resize Image to New Size» (Redimensiona la imatge a una mida nova) es podria escurçar a «Resize Image» (Redimensiona la imatge) per estalviar espai, així que el posaríem aquí.

activationFlags

Això determina quan una acció està o no inhabilitada.

activationConditions

Això determina les condicions d'activació (p. ex., activar només quan la selecció sigui editable). Vegeu el codi [https://cgit.kde.org/krita.git/tree/libs/ui/kis_action.h#n76] per a exemples.

shortcut

Drecera predeterminada.

isCheckable

Quan es tracta o no d'una casella de selecció.

statusTip

El consell d'estat que es mostra en una barra d'estat.

Deseu aquest fitxer com a «myplugin.action» on «myplugin» serà el nom del vostre connector. Ara s'haurà de desar el fitxer d'acció, no a la carpeta de recursos «pykrita», sinó en una carpeta de recursos anomenada «actions». (De manera que a «share/pykrita» és on van els connectors en Python i els fitxers, i a «share/actions» és on van els fitxers d'acció). Torneu a iniciar el Krita. Ara hauria d'aparèixer la drecera a la llista d'accions amb drecera.

Crear un acoblador

Crear un acoblador personalitzat és molt semblant a crear una extensió. Els acobladors són, en certa manera, una mica més fàcils, però també requereixen d'un ús major dels estris. Aquest és el codi nu de l'acoblador:

from PyQt5.QtWidgets import *
from krita import *

class MyDocker(DockWidget):

    def __init__(self):
        super().__init__()
        self.setWindowTitle("My Docker")

    def canvasChanged(self, canvas):
        pass

Krita.instance().addDockWidgetFactory(DockWidgetFactory("myDocker", DockWidgetFactoryBase.DockRight, MyDocker))

El títol de la finestra és com apareixerà a la llista d'acobladors en el Krita. La «canvasChanged» sempre haurà d'estar present, però no heu de fer res amb això, de manera que només «pass».

Per a l'«addDockWidgetFactory»...

«myDocker»

Substituïu això amb un ID únic per al vostre acoblador que utilitza el Krita per a fer un seguiment.

DockWidgetFactoryBase.DockRight

La ubicació. Aquesta pot ser DockTornOff, DockTop, DockBottom, DockRight, DockLeft o DockMinimized

MyDocker

Substituïu això amb el nom de la classe de l'acoblador que voleu afegir.

De manera que, si afegim la nostra funció d'exportació de documents que hem creat a la secció extensió a aquest codi de l'acoblador. Com permetem que l'usuari l'activi? Primer, haurem de crear codi IGU per a les Qt: Afegim un botó!

De manera predeterminada, el Krita utilitza el PyQt, però la seva documentació és força dolenta, principalment perquè la documentació de les Qt és realment bona, i sovint trobareu que la documentació de PyQt d'una classe, diu, el QWidget [https://www.riverbankcomputing.com/static/Docs/PyQt4/qwidget.html] és com una còpia estranya de la documentació de les Qt [https://doc.qt.io/qt-5/qwidget.html] per a aquesta classe.

De totes maneres, el primer que hem de fer és crear un «QWidget», no és molt complicat, a sota de «setWindowTitle», afegiu:

mainWidget = QWidget(self)
self.setWidget(mainWidget)

A continuació, crearem un botó:

buttonExportDocument = QPushButton("Export Document", mainWidget)

Ara, per a connectar el botó amb la nostra funció, haurem de veure els senyals a la documentació. El QPushButton [https://doc.qt.io/qt-5/qpushbutton.html] no té senyals úniques pròpies, però si diu que hereta 4 senyals des de QAbstractButton [https://doc.qt.io/qt-5/qabstractbutton.html#signals], això vol dir que podem utilitzar-les. En el nostre cas, volem fer clic.

buttonExportDocument.clicked.connect(self.exportDocument)

Si ara reiniciem el Krita, tindrem un acoblador nou i en aquest hi haurà un botó. En fer-hi clic s'activarà la funció d'exportació.

No obstant això, el botó es veu alineat de manera una mica estranya. Això és perquè el nostre «mainWidget» no té disposició. Fem-ho ràpidament:

mainWidget.setLayout(QVBoxLayout())
mainWidget.layout().addWidget(buttonExportDocument)

Les Qt tenen diverses disposicions [https://doc.qt.io/qt-5/qlayout.html], però «QHBoxLayout» i «QVBoxLayout» [https://doc.qt.io/qt-5/qboxlayout.html] són les més fàcils d'utilitzar, simplement organitzen els estris de forma horitzontal o vertical.

Reinicieu el Krita i el botó hauria d'estar present.

Senyals i ranures de PyQt

Ja hem estat emprant senyals i ranures de PyQt, però hi ha ocasions en les que voleu crear les vostres pròpies senyals i ranures. Com la documentació de PyQt és força difícil d'entendre [https://www.riverbankcomputing.com/static/Docs/PyQt4/new_style_signals_slots.html], i la forma en què es creen els senyals i les ranures és molt diferent del C++ de les Qt, ho expliquem aquí:

Totes les funcions del Python que realitzeu al PyQt es poden entendre com ranures, el qual vol dir que poden connectar-se a senyals com «Action.triggered» o «QPushButton.clicked». No obstant això, la «QCheckBox» té un senyal per alternar, la qual envia un booleà. Com aconseguim que la nostra funció l'accepti?

Primer, assegureu-vos de tenir la importació correcta per a crear les ranures personalitzades:

from PyQt5.QtCore import pyqtSlot

(Si hi ha importació des de PyQt5.QtCore import * ja a la llista d'importacions, llavors no haureu de fer això, és clar).

Després, haureu d'afegir una definició de ranura de PyQt abans de la vostra funció:

@pyqtSlot(bool)
def myFunction(self, enabled):
    enabledString = "disabled"
    if (enabled == True):
        enabledString = "enabled"
    print("The checkbox is"+enabledString)

Després, quan hàgiu creat la casella de selecció, podreu fer quelcom com «myCheckbox.toggled.connect(self.myFunction)».

De manera similar, per a crear les vostres pròpies senyals de PyQt, feu el següent:

# signal name is added to the member variables of the class
signal_name = pyqtSignal(bool, name='signalName')

def emitMySignal(self):
    # And this is how you trigger the signal to be emitted.
    self.signal_name.emit(True)

I utilitzeu la importació correcta:

from PyQt5.QtCore import pyqtSignal

Per emetre o crear ranures per a objectes que no són objectes estàndard del Python, només haureu de posar els seus noms entre cometes.

Conclusió

Bé, això cobreix tots els detalls específics del Krita per a crear connectors en Python. No maneja com analitzar les dades dels píxels o les millors pràctiques amb els documents, però si teniu una mica d'experiència amb Python, hauríeu de poder començar a crear els vostres propis connectors.

Com sempre, llegiu el codi amb cura i els documents de l'API per a Python, el Krita i les Qt per a veure què és possible, i arribareu molt lluny.

Gestionar les etiquetes

Les etiquetes és com s'organitzen els tipus comuns de recursos. Es poden utilitzar amb els pinzells, degradats, patrons i fins i tot puntes de pinzell. Les podeu seleccionar des d'un menú desplegable sobre els recursos. El seleccionar una etiqueta filtrarà tots els recursos per aquesta etiqueta. Seleccionant l'etiqueta Totes es mostraran tots els recursos. El Krita ve instal·lat amb algunes etiquetes predeterminades. També podeu crear i editar les vostres. Les etiquetes es gestionen de manera similar en els diferents tipus de recursos.

Podeu utilitzar etiquetes juntament amb la paleta emergent per incrementar la productivitat.

Nota

Podeu seleccionar diferents etiquetes de pinzell a la paleta emergent. Aquesta pot ser una forma ràpida d'accedir als vostres pinzells preferits.

Afegir una etiqueta nova per a un pinzell

En prémer el + al costat de la selecció d'etiquetes, obtindreu una opció per afegir una etiqueta. Escriviu el nom que vulgueu i premeu Retorn. Haureu de tornar a l'etiqueta Totes per començar a assignar pinzells.

Assignar una etiqueta existent a un pinzell

Feu clic dret sobre un pinzell a l'acoblador Pinzells predefinits. Obtindreu una opció per assignar una etiqueta al pinzell.

Canviar el nom d'una etiqueta

Seleccioneu l'etiqueta existent que voleu canviar des del menú desplegable. Premeu la icona +`que hi ha al costat de l'etiqueta. Obtindreu una opció per a reanomenar. Premeu :kbd:`Retorn per a confirmar. Tots els pinzells existents romandran a l'etiqueta recentment nomenada.

Suprimir una etiqueta

Seleccioneu l'etiqueta existent que voleu eliminar des del menú desplegable. Premeu la icona + que hi ha al costat de l'etiqueta. Obtindreu una opció per a eliminar-la.

Nota

Els pinzells predeterminats que vénen amb el Krita no poden tenir eliminades les seves etiquetes predeterminades.

Provatura suau

Quan creem una imatge en el Krita i l'imprimim amb una impressora, la imatge tendeix a veure's diferent. Els colors són més o menys foscos del que s'esperava, potser els vermells són més agressius, potser s'ha perdut el contrast. Per a documents senzills, això no és un gran problema, però per a impressions professionals, això pot ser molt trist, ja que pot canviar dràsticament l'aspecte d'una imatge.

La raó per la qual això passa és simplement perquè la impressora utilitza un model de color diferent (CMYK) i, sovint, té accés a una gamma de colors més baixa (anomenada «gamut» o en la traducció gamma).

Una persona ingènua suggeriria la següent solució: feu el vostre treball dins el model de color CMYK! Però hi ha tres problemes amb això:

Pintar en un espai CMYK no garanteix que els colors siguin els mateixos a la impressora. Per a cada combinació de tinta, paper i dispositiu d'impressió, la gamma de colors resultant que podreu utilitzar serà diferent. El qual vol dir que cadascun d'aquests podria tenir un perfil diferent associat.

A més, fins i tot si teniu el perfil i esteu treballant en l'espai de color exacte que pot imprimir la impressora, l'espai de color CMYK és molt irregular, el qual vol dir que les matemàtiques del color no són tan agradables com en altres espais. Els modes de barreja també són diferents en el CMYK.

Finalment, treballar en aquest espai CMYK específic voldrà dir que la imatge estarà encallada a aquest espai. Si esteu preparant el vostre treball per a un perfil CMYK diferent, a causa del paper, la impressora o la tinta són diferents, és possible que tingueu una gamma més àmplia amb colors més brillants que us agradaria aprofitar.

Per tant, l'ideal seria fer la imatge en RGB i utilitzar totes les vostres eines RGB preferides, i deixar que l'ordinador faci una conversió a un espai CMYK determinat sobre la marxa, només per a la vista prèvia. Això és possible, i és el que anomenem «Provatura suau».

A l'esquerra, l'original, a la dreta, una vista on s'activa la provatura suau. La diferència és subtil, causa de la falta de colors realment brillants, però la versió de la provatura suau és lleugerament menys blavosa en els blancs de les flors i lleugerament menys saturada en els verds de les fulles.

Podeu alternar la provatura suau sobre qualsevol imatge utilitzant Ctrl + Y. A diferència d'altres programes, això és per la vista, de manera que podreu mirar la vostra imatge amb i sense la provatura, costat a costat. Els ajustaments també són per imatge i es desen al fitxer «.kra». Podeu establir les opcions de la provatura a Imatge ‣ Propietats de la imatge ‣ Provatura suau.

Allà podreu establir les següents opcions:

Perfil, Profunditat, Espai

D'aquestes, només el perfil és realment important. Servirà com el perfil amb el qual esteu realitzant la provatura. En un flux de treball d'impressió professional, aquest perfil haurà de ser determinat per la impremta.

Propòsit

Estableix el propòsit de la provatura. Utilitza els mateixos propòsits que els esmentats durant el flux de treball en la gestió del color.

Esquerra: imatge amb provatura suau amb el control lliscant Estat de l'adaptació establert al màxim. Dreta: imatge amb provatura suau amb Estat de l'adaptació establert al mínim.

Estat de l'adaptació

Una característica que permet establir si Colorimetria absoluta farà que el blanc a la pantalla de la imatge sigui blanc durant la provatura (el control lliscant s'establirà al màxim), o si utilitzarà el punt blanc del perfil (el control lliscant s'establirà al mínim). Sovint, els perfils CMYK tenen un blanc diferent com la pantalla, o entre ells pel fet que el color del paper és diferent.

Compensació del punt negre

Estableix la compensació del punt negre. Si la desactiveu, els valors de l'ombra es reduiran al mínim que la pantalla i el perfil de provatura puguin manejar, mentre que en activar aquesta opció s'escalarà el negre dins de l'interval de la pantalla, mostrant el rang complet de grisos a la imatge.

Avís de gamma

Estableix el color de l'avís de fora de la gamma.

Podeu establir els valors predeterminats que utilitzarà el Krita a Arranjament ‣ Configura el Krita ‣ Gestió del color.

Per a configurar-ho correctament, es recomana crear una imatge de prova per imprimir (i que s'imprimeixi en una impressora configurada correctament) i comparar-la, i després apropar-se a les opcions de la provatura com es veu a la imatge comparada amb la còpia real que heu fet.

Avís de fora de la gamma

L'avís de fora de la gamma, o l'alarma de la gamma, és una opció addicional a la part superior de la Provatura suau: us permet veure quins colors es retallen, en substituir el color resultant amb el color d'alarma establert.

Això pot ser útil per a determinar on s'estan perdent certs contrastos i per a permetre canviar lentament a una imatge amb menys contrast.

Esquerra: vista amb la imatge original, Dreta: vista amb la provatura suau i els avisos de gamma activats. El Krita desarà el color d'avís de la gamma juntament amb les opcions de la provatura al fitxer «Kra», de manera que trieu un color que cregueu que destaqui per a la vostra imatge actual.

Podeu activar els avisos de la gamma amb Ctrl + Majús. + Y, però necessitareu que la provatura suau estigui activada per a que funcioni completament.

Nota

La provatura suau no funciona correctament en espais de coma flotant, i intentar forçar-ho causarà alarmes de gamma incorrecta. Per tant està inhabilitada.

Avís

Els avisos de gamma de vegades donen advertències senars en les ombres dels perfils lineals. Aquest és un error en el LCMS, vegeu aquí [http://ninedegreesbelow.com/bug-reports/soft-proofing-problems.html] per a més informació.

Gràfics vectorials

El Krita 4.0 ha tingut una reescriptura massiva de les eines vectorials. De manera que aquí hi ha una pàgina explicant-les:

Què són els gràfics vectorials?

El Krita principalment és una eina per a l'edició de gràfics rasteritzats, el qual vol dir que la majoria de l'edició canvia els valors dels píxels en el ràster que crea la imatge.

D'altra banda, els gràfics vectorials utilitzen les matemàtiques per a descriure una forma. A causa que utilitzen una fórmula, els gràfics vectorials es poden redimensionar fins a qualsevol mida.

D'una banda, això fa que els gràfics vectorials siguin excel·lents per a logotips i bàners. D'altra banda, els gràfics rasteritzats són molt més fàcils d'editar, de manera que els vectors tendeixen a ser el domini del disseny deliberat, utilitzant molta precisió.

Eines per a la creació de formes

Podeu començar a crear gràfics vectorials fent primer una capa vectorial (premeu el botó de fletxa al costat de la icona + que hi ha a l'acoblador Capes per obtenir tipus de capes addicionals). Després, podreu utilitzar totes les eines de dibuix habituals fora de l'eina a mà alçada, dinàmica i múltiples pinzells per a dibuixar les formes.

L'eina de traç i polilínia són les eines que utilitzareu més sovint en una capa vectorial, ja que permeten crear formes més dinàmiques.

D'altra banda, les eines El·lipse i Rectangle permeten dibuixar formes especials, les quals després es podran editar per a crear formes especials de sector o per a rectangles arrodonits amb facilitat.

L'eina de cal·ligrafia i de text també creen vectors especials. L'eina de cal·ligrafia és per a produir traços similars a les pinzellades, mentre que l'eina de text crea un objecte de text que després es pot editar.

Totes aquestes utilitzaran la mida del pinzell actual per a determinar el gruix del traç, així com el color de fons i de primer pla actual.

Hi ha una última manera de crear vectors: l'eina Imatge vectorial. Permet afegir formes que s'han definit en un fitxer SVG com a símbols. A diferència de les altres eines, aquesta disposa del seu propi emplenament i traç.

Organitzar les formes

Una capa vectorial té la seva pròpia jerarquia de formes, de manera molt similar a com tota la imatge té una jerarquia de capes. De manera que les formes poden estar una al davant de l'altra. Això es pot modificar amb l'acoblador Organitza o amb l'eina Selecció de formes.

L'acoblador Organitza també permet agrupar i desagrupar les formes. També permet alinear amb precisió les formes, per exemple, alinear-les amb el centre o tenir un espaiat uniforme entre totes les formes.

Editar les formes

L'edició de les formes vectorials es fa amb l'eina Selecció de formes i l'eina Edició de formes.

L'eina Selecció de formes es pot utilitzar per a seleccionar les formes vectorials, agrupar-les (mitjançant el mouseright), desagrupar-les, utilitzar nombres booleans per a combinar o sostreure formes entre si (mitjançant el mouseright), moure amunt i avall o fer transformacions ràpides.

Omple

Podeu canviar l'emplenament d'una forma seleccionant-la i canviant el color de primer pla actiu.

També el podreu canviar anant a les Opcions de l'eina per a l'eina Selecció de formes i anant a la pestanya Emplenat.

Les formes vectorials es poden omplir amb un color sòlid, un degradat o un patró.

Traç

Els traços es poden omplir amb les mateixes coses que els emplenats.

No obstant això, també es poden canviar més. Per exemple, podeu afegir guions i marcadors a la línia.

Coordenades

Les formes es poden moure amb l'eina Selecció de formes, i en les Opcions de l'eina podreu especificar les coordenades exactes.

Editar els nodes i els paràmetres especials

Si teniu seleccionada una forma, hi podreu fer doble clic per accedir a l'eina adequada per a editar-la. Normalment, aquesta serà l'eina Edita la forma, però per al text serà l'eina Text.

A l'eina Edita la forma, us podreu moure pels nodes en el llenç per obtenir traços normals. Per a traços especials, com l'el·lipse i el rectangle, podreu moure els nodes i editar els paràmetres específics a l'acoblador Opcions de l'eina.

Treballar conjuntament amb altres programes

Una de les grans coses que va portar el Krita 4.0 va ser passar de l'ODG al SVG. Això vol dir que el Krita ara desa com a SVG dins dels fitxers KRA, i això vol dir que podrem obrir els SVG molt bé. Això és important ja que el SVG és el format vectorial més popular.

Inkscape

Podeu copiar i enganxar vectors des del Krita a l'Inkscape, o des de l'Inkscape al Krita. Només s'admeten les característiques del SVG 1.1, pel que no us sorprengueu si un degradat de malla no es creua gaire bé.

Ajustar

En el Krita 3.0, ara tenim la funcionalitat per a Quadrícules i Guies, però, és clar, aquesta funcionalitat no és tan interessant sense poder ajustar.

L'ajustament és la capacitat que té el Krita d'alinear automàticament una selecció o forma amb les quadrícules i guies, el centre del document i les vores del document. Per a les capes vectorials, això va fins i tot un pas més enllà, i podem permetre-li que s'ajusti als contenidors, interseccions, línies extrapolades i més.

Tots aquests es poden alternar utilitzant el menú emergent d'ajustar, el qual està assignat a Majús. + S.

Ara, repassarem què vol dir cada opció:

Quadrícules

Això ajustarà el cursor a la quadrícula actual, segons la configuració a l'acoblador Quadrícula. No es necessita que la quadrícula sigui visible. Les quadrícules es desen per document, el qual resulta útil per alinear el vostre treball d'art amb les quadrícules, com és el cas dels dissenys amb sprites i els basats en quadrícules per als jocs.

Guies

Això permet ajustar a les guies, les quals es poden arrossegar des de la regla. No es necessita que les guies siguin visibles i es desen per document. Això és útil per a vinyetes i disposicions d'impressió similars per a còmics, encara que recomanem Scribus per a un treball més intensiu.

Ortogonal (només vectors)

Això permet ajustar amb una línia horitzontal o vertical des dels nodes dels objectes vectorials existents (llevat que només es tracti de canviar la mida de l'alçada o amplada, en aquest cas podeu arrossegar el cursor sobre el traç). Això és útil per alinear els objectes en horitzontal o vertical, com amb les vinyetes dels còmics.

Node (només vectors)

Això ajusta un node o objecte vectorial amb els nodes d'un altra traç.

Extensió (només vectors)

Quan dibuixem un traç obert, els últims nodes de cada costat es podran estendre matemàticament. Aquesta opció permet ajustar-ho. La direcció del node dependrà de les seves nanses laterals en el mode edició del traç.

Intersecció (només vectors)

Això permet ajustar amb una intersecció de dos vectors.

Contenidors (només vectors)

Això permet ajustar amb el contenidor d'una forma vectorial.

Límits de la imatge

Això permet ajustar amb les vores verticals i horitzontals d'una imatge.

Centre de la imatge

Això permet ajustar amb el centre vertical i horitzontal d'una imatge.

L'ajustament funciona per a les següents eines:

Línia recta

Rectangle

El·lipse

Polilínia

Traç

Traç a mà alçada

Polígon

Degradat

Eina per al maneig de les formes

L'eina de text

Eines per als assistents d'edició

L'eina de moure (tingueu en compte que s'ajusta amb la posició del cursor i no amb el contenidor de la capa, selecció o el que intenteu moure)

L'eina de transformació

Selecció de rectangle

Selecció el·líptica

Selecció poligonal

Selecció del traç

Les pròpies guies es poden ajustar amb les quadrícules i vectors

L'ajust encara no té sensibilitat, de manera predeterminada està establert a 10 píxels de la pantalla.

Animació amb el Krita

Gràcies al Kickstarter de 2015, el Krita 3.0 ara té animació. En específic, el Krita té animació rasteritzada fotograma per fotograma. Encara falten molts elements, com la interpolació, però el flux de treball bàsic hi és.

Per accedir a les característiques de l'animació, la forma més senzilla és canviar el vostre espai de treball a Animació. Això farà que apareguin els acobladors animació i flux de treball.

Corbes d'animació

Per a crear una corba d'animació (actualment només per opacitat) s'expandeixi el botó Fotograma nou a l'acoblador Animació i feu clic a Afegeix un fotograma clau d'opacitat. Ara podreu editar el valor del fotograma clau directament per a l'opacitat a l'acoblador «Capes», afegint-hi més fotogrames clau, s'esvairan de manera predeterminada des de l'últim fotograma clau al següent més proper seguint en la línia de temps sobre els fotogrames entre ells. Per a més detalls, vegeu corbes d'animació.

Flux de treball

En el flux de treball tradicional de l'animació, el que fa és crear fotogrames clau, els quals contenen les postures importants, i després dibuixar fotogrames entre ells (interpolació en l'argot altament sofisticat dels animadors).

Per a aquest flux de treball, hi ha tres acobladors importants:

El Timeline Docker. Veureu i controlareu tots els fotogrames de la vostra animació. L'acoblador línia de temps també conté característiques per a gestionar les capes. La capa creada en l'acoblador línia de temps també apareixerà a l'acoblador Capes normal.

El Animation Docker. Aquest acoblador conté els botons de reproducció amb la possibilitat de canviar la velocitat dels fotogrames, velocitat de reproducció i petites opcions d'utilitat, com ara enquadrament de fotogrames clau.

El Onion Skin Docker. Aquest acoblador controla l'aspecte de la pell de ceba, que al seu torn és útil per a veure el fotograma anterior.

Introducció a l'animació: Com fer un cicle de caminar

La millor manera d'entendre totes aquestes diferents parts és utilitzar-les. Els cicles de caminar es consideren la forma més bàsica d'una animació completa, a causa de les diferents parts involucrades en elles. Per tant, repassar com es crea un cicle de caminar hauria de servir com una bona introducció.

Disposició

Primer, crearem un fitxer nou:

A la primera pestanya, escriurem una bona relació com 1280x1024, establint el ppp a 72 (després de tot, això ho fem per a les pantalles) i el títol del document «cicle de caminar».

A la segona pestanya, triem un bon color de fons i establim el fons al color del llenç. Això vol dir que el Krita emplenarà automàticament tots els bits transparents amb el color de fons. Ho podeu canviar a Imatge ‣ Propietats de la imatge. Això sembla el més útil per a les persones que fan animacions, ja que la capa que fa l'animació HA de ser semitransparent per aconseguir que funcioni la pell de ceba.

Nota

El Krita té un munt de funcionalitats per a les metadades, començant a la pantalla Crea un document. El títol serà emprat automàticament com un suggeriment per al desament i la descripció pot ser utilitzada per les bases de dades, o perquè deixeu comentaris. Individualment, no el fa servir gaire gent, però pot ser útil per a treballar en grups grans.

Després premeu Crea!

Després, per obtenir totes les eines necessàries per a l'animació, seleccioneu el commutador de l'espai de treball:

La fletxa vermella apunta al commutador de l'espai de treball.

I seleccioneu l'espai de treball de l'animació.

El que hauria de resultar en això:

L'espai de treball de l'animació afegeix els acobladors línia de temps, animació i pell de ceba a la part inferior.

Animant

Tenim configurades dues capes transparents. Anomenem el primer «entorn» i la part superior «Cicle de caminar» fent doble clic en els seus noms a l'acoblador Capes.

Empreu l'eina de línia recta per a dibuixar una sola línia horitzontal. Aquest serà el terra.

Després, seleccioneu la capa «Cicle de caminar» i dibuixeu un cap i un tors (per això, podeu utilitzar qualsevol pinzell).

Ara, seleccionant un fotograma nou no es crearà un fotograma nou automàticament. El Krita, en realitat no veu la capa «Cicle de caminar» com una capa animada en absolut!

Podem fer-ho animable afegint un fotograma a la línia de temps. Feu clic amb el mouseright sobre un fotograma a la línia de temps per obtenir un menú contextual. Trieu Fotograma nou.

Podeu veure que s'ha convertit en una capa animada pel fet que la icona de la pell de ceba apareix a l'acoblador línia de temps.

Utilitzeu el botó Copia el fotograma per a copiar el primer fotograma al segon. Després, utilitzeu la drecera Majús. + ↑ per a moure el contingut del fotograma cap amunt.

Podem veure la diferència activant la pell de ceba:

Ara, hauríeu de veure el fotograma anterior en vermell.

Avís

El Krita veu el blanc com un color, no com a transparent, així que assegureu-vos que la capa de l'animació en la qual esteu treballant sigui transparent en els bits on no hi ha dibuix. Podeu arreglar-ho emprant el filtre Color to Alpha, però el millor és la prevenció.

Els fotogrames futurs es dibuixaran en verd i ambdós colors es poden configurar a l'acoblador pell de ceba.

Ara, dibuixarem els dos extrems del cicle de caminar. Aquestes seran les postures en les que totes dues cames estan el més separades possible, i la postura on una cama està completament estirada i l'altra arronsada, llest per a fer el següent pas.

Ara, copiem aquests dos... Podríem fer-ho amb Ctrl + arrossega, però aquí esdevé una mica difícil:

Ctrl + mouseleft també selecciona i desselecciona els fotogrames, per a copiar...

Ctrl + mouseleft per a seleccionar tots els fotogrames que voleu seleccionar.

Ctrl + arrossega. Haureu d'assegurar-vos que el primer fotograma sigui «taronja», en cas contrari no es copiarà.

Ara, ja que...

s'ha aixafat l'acoblador línia de temps per estalviar espai.

Copia el fotograma 0 al fotograma 2.

Copia el fotograma 1 al fotograma 3.

A l'acoblador animació, establiu la velocitat dels fotogrames a 4.

Seleccioneu tots els fotogrames a l'acoblador línia de temps arrossegant la selecció.

Premeu reprodueix a l'acoblador animació.

Gaudiu de la vostra primera animació!

Ampliar en brut el vostre cicle de caminar

Podeu fer una mica d'espai ràpidament amb Alt + arrossega en qualsevol fotograma. Això mourà aquest fotograma i tots els altres després d'una sola vegada.

Després, dibuixeu entre cada fotograma que afegiu.

Trobareu que com més fotogrames afegiu, més difícil serà fer un seguiment de les pells de ceba.

Podeu modificar la pell de ceba utilitzant l'acoblador pell de ceba, on podreu canviar la quantitat de fotogrames que es podran veure alhora, alternant-los a la fila superior. La fila inferior és per a controlar la transparència, mentre que a sota poden modificar els colors i l'extremitat de la coloració.

Animació amb múltiples capes

Va bé. Al nostre cicle de caminar li falten algunes mans, les hi afegirem en una capa separada. Així que crearem una capa nova i l'anomenarem mans, i...

El nostre cicle de caminar ha desaparegut de l'acoblador línia de temps! Això en realitat és una característica. Una animació completa pot tenir tantes parts petites que un animador podria voler eliminar les capes que estan treballant des de l'acoblador línia de temps. De manera que haureu d'afegir-les manualment.

Podeu mostrar qualsevol capa donada a la línia de temps fent clic mouseright sobre la capa a l'acoblador Capes, i alternant Mostra a la línia de temps.

Exportant

Quan hàgiu acabat, seleccioneu Fitxer ‣ Renderitza una animació.

Es recomana desar el fitxer com a png i, preferentment, a la seva pròpia carpeta. Actualment, el Krita només exporta les seqüències a png.

En prémer fet, podreu veure l'estat de l'exportació a la barra d'estat.

Les imatges s'hauran de desar com a nom_fitxerXXX.png, indicant el seu número de fotograma.

Després empreu quelcom com el Gimp (Linux, OSX, Windows), ImageMagick (Linux, OSX, Windows) o qualsevol altre creador de gif per a crear-ne un amb la vostra seqüència d'imatges:

Per exemple, podeu utilitzar el VirtualDub [http://www.virtualdub.org/](Windows), obrir tots els fotogrames i després anar a Fitxer ‣ Exporta ‣ GIF.

Gaudiu del vostre cicle de caminar!

Nota

El Krita 3.1 té una característica de renderització de l'animació. Si esteu utilitzant la versió 3.1 beta, consulteu la pàgina Render Animation per obtenir més informació!

Importar fotogrames d'animació

Al Krita 3.0 podeu importar fotogrames d'animació.

Primer prenguem un full de sprites d'Open Game Art. (Aquest és el cicle de caminar masculí de la Libre Pixel Cup).

I l'utilitzarem Imatge ‣ Divideix la imatge per a dividir el full de sprites.

Les llesques són uniformes, de manera que per a un full de sprites de 9 sprites, utilitzeu 8 llesques verticals i 0 llesques horitzontals. Doneu-li un nom adequat i deseu-lo com a png.

Després, creeu un llenç nou i seleccioneu Fitxer ‣ Importa fotogrames d'animació. Això us donarà una petita finestra. Seleccioneu Afegeix imatges. Això hauria de proporcionar-vos un explorador de fitxers on podreu seleccionar les vostres imatges.

Podeu seleccionar múltiples imatges alhora.

Actualment, els fotogrames s'ordenen automàticament. Podeu establir l'ordre amb les llistes desplegables que hi ha a la part superior esquerra.

Inici

Indiqueu en quin punt s'ha d'importar l'animació.

Pas

Indica la diferència entre l'animació importada i la velocitat dels fotogrames del document. Aquesta animació té 8 fotogrames grans i els fps del document són de 24 fotogrames, per la qual cosa hauria d'haver un pas de 3 per a mantenir-se uniforme. Com podeu veure, la finestra proporciona informació sobre la quantitat de fps que tindrà l'animació importada amb el pas actual fet.

Premeu D'acord i la vostra animació s'hauria d'importar com una capa nova.

Referència

https://community.kde.org/Krita/Docs/AnimationGuiFeaturesList

La font al MediaWiki per al cicle de caminar masculí de la Libre Pixel Cup [https://opengameart.org/content/liberated-pixel-cup-lpc-base-assets-sprites-map-tiles]

Plantilla per a animació japonesa

Aquesta plantilla s'utilitza per a crear animació a l'estil japonès. Està dissenyada sota el supòsit que s'utilitzarà en coproducció, de manera que personalitzeu les seves coses com les carpetes de capes segons l'escala i el detall dels vostres treballs.

Estructura bàsica de les seves capes

Les capes estan organitzades de manera que el vostre treball comenci des de les capes més baixes i vagi a les capes més altes, excepte per a donar color a les capes.

Contingut de la capa

des de baix

Paper per a la disposició

Aquestes capes són un formulari de paper per a la disposició. En capes separades, s'afegeixen orificis que seran útils per al cas que hàgiu d'imprimir-ho i seguir dibuixant de la manera tradicional.

Disposició (fons)

Aquestes capes contindran escenaris o disposicions de fons que s'escanegen a partir d'un dibuix tradicional. Si no els utilitzeu, podeu eliminar-los.

Esbossos clau

Aquestes capes s'utilitzen per a dibuixar disposicions a la manera digital.

Claus

On afegireu alguns detalls a les disposicions i les organitzareu per a dibuixar «claus» de l'animació.

Entremig

On s'afegeixen els entremigs a les claus per al procés de donar color i elimina els detalls innecessaris per a finalitzar les claus (per a ser precisos, he acabat la finalització de les claus abans de començar a afegir els entremigs).

Acolorir (sota l'entremig)

On s'emplenen les àrees amb colors d'acord a l'especificació dels entremigs.

Full de temps i full de composició

Això conté un full de temps i un full de composició. Si us plau, gireu-los abans d'utilitzar.

Conjunt de colors

Això conté els colors utilitzats per a dibuixar la línia artística principal i auxiliar, i omplir amb reflexos o ombres. Podeu afegir-los a la vostra paleta.

Passos bàsics per a crear animació

Esbós clau --> assignar-lo a dins del full de temps (o ajustar-lo a la línia de temps, després assignar-lo a dins del full de temps) --> ajustar-lo a la línia de temps --> afegiu marcs per a dibuixar esbossos per a entremigs si els necessiteu --> començar a dibuixar les claus

Podeu afegir les capes i afegir-les a la línia de temps.

Aquesta és la deguda diferència entre 24 dibuixos per segon, el qual s'utilitza en animació completa, i 12 dibuixos per segon i 8 dibuixos per segon, els quals s'utilitzen en animació limitada a l'acoblador Línia de temps.

Aquesta és la correspondència entre la línia de temps i el full de temps. La capa «Negra» és per a dibuixar la línia artística principal el qual s'utilitza amb la línia artística habitual, la capa «Vermella» és per a dibuixar la línia artística auxiliar en vermell, el qual s'utilitza per especificar els reflexos, la capa «Blau» és per a dibuixar la línia artística auxiliar en blau, el qual s'utilitza per especificar les ombres i la capa «Ombra» és per a dibuixar la línia artística auxiliar en verd clar, el qual s'utilitza per especificar ombres més fosques. No obstant això, probablement hàgiu d'augmentar o disminuir aquestes capes d'acord amb el vostre treball.

En finalitzar les claus, començareu a dibuixar els entremigs. Si trobeu que el Krita s'està tornant lent, recomano fusionar els esbossos i les claus, així com eliminar qualsevol capa innecessària.

Després de finalitzar les claus i netejar les capes innecessàries, afegiu els entremigs, utilitzant el full de temps i els esbossos d'entremig com a referència.

Aquesta és la seva correspondència amb el full de temps.

Una vegada que la funcionalitat vectorial del Krita es torni millor, recomano que utilitzeu vectors per a finalitzar l'entremig.

Si feu els colors en el Krita, empreu la capa de grup per a donar color. Si feu els colors en un altre programari, recomano exportar els marcs com a fitxers «.TGA».

Resolució

Vaig fer aquesta plantilla en 300 ppp (dpi) perquè haurem d'imprimir-la per a utilitzar-la en treballs tradicionals que encara tenen un paper important a l'estudi d'anime japonès. No obstant això, si ens atenim al digital, de 150 a 120 ppp (dpi) n'hi ha prou per a crear animació. Així podreu disminuir la seva resolució d'acord amb les vostres necessitats.

Originalment escrit per en Saisho Kazuki, animador professional japonès i traduït per en Tokiedian, col·laborador del KDE.

Conceptes generals

Apreneu quant als conceptes generals d'art i tecnologia que no són específics del Krita.

Contingut:

Colors

Bit Depth

Color Managed Workflow

Mixing Colors

Color Models

Color Space Size

Gamma and Linear

Profiling and Calibration

Scene Linear Painting

Viewing Conditions

File Formats

Compression

Metadata

Openness

Perspective Projection

Orthographic

Oblique

Axonometric

Perspective Projection

Practical

Conclusion and afterthoughts

Colors

Okay, so... Let's talk colors!

Colors are pretty, and they're also pretty fundamental to painting. When painting, we want to be able to access and manipulate colors easily to do fun stuff like mixing them together or matching them to create visual harmony or contrast. We also want to be able to quickly find our favorite shades of red or favorite tints of blue without thinking or working too hard. All of this becomes even more important the more colors we have access to!

Naturally, the first thing we do is organize the colors, usually based on what we see in nature. For example, we tend to order hues in the order that they appear in a rainbow, and we think about brightness of values as a tonal range from white to black. Of course, nature itself is tied to physics, and the order of hues and the concept of brightness has everything to do with the wavelength and energy of light as it bounces around and eventually enters our eyes.

In the case of traditional media, we order the colors (hues) by how they result from mixes of other colors, starting with the subtractive primary colors: cyan, magenta, yellow. Mixing each primary color with each other reveals three secondary colors: violet, orange, and green. Mixing between those colors creates tertiary colors, and so on - the variations of hues between each named color are practically limitless! Thinking of colors in this way creates a circle of hues that artists call "the color wheel"! Each one of these hues can be made lighter (tint) or darker (shade) by mixing with white or black, respectively, and any color can be made less saturated (more gray or muted) by mixing with another color on the opposite side of the color wheel.

In the digital world of computers color is treated similarly, and we order colors by the way the screen generates them; each pixel of color on our screen is produced by combining super tiny red, green, and blue lights of varying intensities. Unlike mixing paint, where light intensity is subtracted by pigment and mixing all the colors together produces a muddy brown or gray, mixing lights is additive - no light at all is obviously black, and mixing all of the colored lights produces white. As such, we can make a list of possible primary color intensities:

Shown above is a table of different intensities of red light. Our screens can certainly create a lot of shades of red, but we only start to see the power of pixels when we add in the other primary colors, green and blue, and show the colors of light that are produced when they are added together! For example, here's a table showing various mixes of red and green:

But that's just red and green, what about blue? I guess we can make even more tables to show what happens when different amounts of blue are added into the mix:

This way of ordering colors is probably familiar to you if you have used some programs for making internet applications, like Flash. In fact, if we had made 6 samples instead of 5 per "channel" (that is, per each primary color), we'd have gotten the 216 websafe colors [https://websafecolors.info/color-chart]!

Showing the colors in a bunch of tables just feels wrong, though, doesn't it? That's because, while our tables are 2D, as we are mixing three primary colors, color can be thought of as 3D! It’s a bit odd the first time you think about it this way, but you can actually stack these tables based on the amount of blue and they become a cube!

This cube is not filled with water, or sand, or even concrete, but colors! Colors are pretty abstract, and we typically talk about cubes and other 3D objects that represent abstract ideas as spaces, hence we call this cube a color space. Because this particular cube uses red, green, and blue as its axes, we say that our cube is in the RGB RGB color model.

There are many more color models. For example, if we were to balance our cube on the black corner, the white corner would be right under our finger at the very top of the cube. And as geometry and maths would have it, if we were to cut the cube in half as we balanced it, the line from the white point at the top to the black point at the bottom would be the grayscale.

When you think about a strip of grays running through the middle of the cube, as we move farther away from that grayscale towards the outer edges of the cube the colors would begin to become more saturated (colorful and vivid). The circle of colors around that middle axis of gray would then define the hue, with a different color in each direction.

This is the basic idea of the HSV, HSL, HSI, and HSY color models. This particular model is called HSI (hue, saturation, and intensity), because it maps each unique color to the intensity of the primary colored lights that mix to create them.

There are other color models, like L*a*b*, where we look at the corresponding gray value of a color first, and then try to describe it, not it terms of hue and saturation, but by how red, green, blue, and yellow it is. Because our brains cannot really comprehend a color that is both green and red, or yellow and blue, this makes them good polar opposites in a sliding scale. We call this a perceptual model, as it is based on how we see color instead of how the color is generated.

Color models describe color spaces, which, in turn, are all sorts of sizes and shapes as well. Krita allows you to do operations in different models and spaces, and we call this functionality "Color Management".

Color Management is necessary for **CMYK** (subtractive) support, but outside of that, not many drawing or painting programs offer the feature, as some developers believe that artists have no need for such functionality. What a pity! Especially because Color Management allows for far more cool tricks than just basic CMYK support, and the ability to manipulate colors like a computer can is perhaps digital painting’s most unique quality!

As Krita is giving almost unprecedented control of color, this unfortunately means that there are little to no articles out there on how to use color management for artists or painters. And so, we made this category and hope to fill it up with relatively short articles explaining color-related concepts in a light-hearted and visual manner.

We recommend going over the color managed workflow page next - even if you don't plan on using it, it will help make sense out of the many features related to colors and Color Management. Other than that, each article should stand on its own and can be taken in at your own direction and pace!

Topics:

Bit Depth

Color Managed Workflow

Mixing Colors

Color Models

Color Space Size

Gamma and Linear

Profiling and Calibration

Scene Linear Painting

Viewing Conditions

Bit Depth

Bit depth basically refers to the amount of working memory per pixel you reserve for an image.

Like how having a A2 paper in real life can allow for much more detail in the end drawing, it does take up more of your desk than a simple A4 paper.

However, this does not just refer to the size of the image, but also how much precision you need per color.

To illustrate this, I'll briefly talk about something that is not even available in Krita:

Indexed Color

In older programs, the computer would have per image, a palette that contains a number for each color. The palette size is defined in bits, because the computer can only store data in bit-sizes.

1bit

Only two colors in total, usually black and white.

4bit (16 colors)

16 colors in total, these are famous as many early games were presented in this color palette.

8bit

256 colors in total. 8bit images are commonly used in games to save on memory for textures and sprites.

However, this is not available in Krita. Krita instead works with channels, and counts how many colors per channel you need (described in terms of ''bits per channel''). This is called 'real color'.

Real Color

1, 2, and 3bit per channel don't actually exist in any graphics application out there, however, by imagining them, we can imagine how each bit affects the precision: Usually, each bit subdivides each section in the color cube meaning precision becomes a power of 2 bigger than the previous cube.

4bit per channel (not supported by Krita)

Also known as Hi-color, or 16bit color total. A bit of an old system, and not used outside of specific displays.

8bit per channel

Also known as "True Color", "Millions of colors" or "24bit/32bit". The standard for many screens, and the lowest bit-depth Krita can handle.

16bit per channel.

One step up from 8bit, 16bit per channel allows for colors that can't be displayed by the screen. However, due to this, you are more likely to have smoother gradients. Sometimes known as "Deep Color". This color depth type doesn't have negative values possible, so it is 16bit precision, meaning that you have 65536 values per channel.

16bit float

Similar to 16bit, but with more range and less precision. Where 16bit only allows coordinates like [1, 4, 3], 16bit float has coordinates like [0.15, 0.70, 0.3759], with [1.0,1.0,1.0] representing white. Because of the differences between floating point and integer type variables, and because Scene-referred imaging allows for negative values, you have about 10-11bits of precision per channel in 16 bit floating point compared to 16 bit in 16 bit int (this is 2048 values per channel in the 0-1 range). Required for HDR/Scene referred images, and often known as 'half floating point'.

32bit float

Similar to 16bit float but with even higher precision. The native color depth of OpenColor IO, and thus faster than 16bit float in HDR images, if not heavier. Because of the nature of floating point type variables, 32bit float is roughly equal to 23-24 bits of precision per channel (16777216 values per channel in the 0-1 range), but with a much wider range (it can go far above 1), necessary for HDR/Scene-referred values. It is also known as 'single floating point'.

This is important if you have a working color space that is larger than your device space: At the least, if you do not want color banding.

And while you can attempt to create all your images a 32bit float, this will quickly take up your RAM. Therefore, it's important to consider which bit depth you will use for what kind of image.

Color Managed Workflow

You may have heard that Krita has something called color-management. Or maybe you just wondered what all these 'color model' and 'color profile' things you can find in the menus mean. Color management is pretty useful for people who work in digital imaging professionally, and hopefully this page will explain why.

Basic Info

If you've never worked with color management before, and have no clue what it is, then know that you've probably been working in the 8bit RGB color space with the sRGB profile. This means you can choose for sRGB built-in or sRGB-elle-v2-srgbtrc.icc. With the new color space browser this profile is marked with (default) when using 8bit.

We'll go into what these terms mean in the theory, but if you're here only for trying to figure out which is the default, you now know it. Maybe, after reading this, you may feel like changing the default, to get new and interesting results from filters, blending modes, or just the color smudge brush.

What is the problem?

To explain the point of color management, you'd first need to learn which problem color management tries to solve.

Let us imagine a kinder garden:

The class of 28 children is subdivided in groups of 7. Each group has its own table.

The teacher gives them a painting assignment: They need to paint a red triangle, a blue square, a green circle and put a yellow border around the three. The kids are very experienced with painting already, so the teacher can confidently leave the smarter ones to their own devices, and spent more time on those who need help.

The following results come from painting:

Even though all groups had the same assignment, each group's result looks different.

Group 1 had vermillion red, citron yellow and ultramarine blue to their disposal. This means their triangle looks nice and red, but their circle's green is muddy. This is because ultramarine is too dark of a blue to create nice greens with.

Group 2 had magenta red, citron yellow and cerulean blue. Magenta is a type of red that is closer to pink, opposed to vermillion, which is closer to orange. However, their green looks nice because cerulean is a much lighter blue.

Group 3 had vermillion red, citron yellow, emerald green and cerulean blue. They didn't mix their green, and thus ended up with a purer color.

Finally, group 4 has vermillion red, citron yellow and cerulean blue. Their colors probably look like what you imagined.

Now, these are kindergarteners, so this isn't the largest problem in the world. However, imagine that something like this happened at a printing company? Imagine four printers printing the same magazine with wildly different results? That would be disastrous!

For this purpose, we invented color management.

What is color management?

Color management is, dryly put, a set of systems that tries to have the same color translate properly between color devices.

It usually works by attempting to covert a color to the reference color space XYZ. XYZ is a coordinate system that has a spot for all colors that the average human eye can see.

From XYZ it can then be translated back into another device space, such as RGB (for screens), or CMYK (for printers).

Krita has two systems dedicated to color management. On the one hand, we have lcms2, which deal with ICC profiles, and on the other, we have OCIO, which deal with LUT color management.

To give a crude estimate, ICC profiles deal with keeping colors consistent over many interpretations of devices (screens, printers) by using a reference space, and OCIO deals with manipulating the interpretation of said colors.

Within both we can identify the following color spaces:

Device spaces

Device spaces are those describing your monitor, and have to be made using a little device that is called "colorimeter". This device, in combination with the right software, measures the strongest red, green and blue your screen can produce, as well as the white, black and gray it produces. Using these and several other measurements it creates an ICC profile unique to your screen. You set these in Krita's color management tab. By default we assume sRGB for screens, but it's very likely that your screen isn't exactly fitting sRGB, especially if you have a high quality screen, where it may be a bigger space instead. Device spaces are also why you should first consult with your printer what profile they expect. Many printing houses have their own device profiles for their printers, or may prefer doing color conversion themselves. You can read more about colorimeter usage here.

Working spaces

These are delivered alongside Krita for ICC, and downloadable from the OCIO website for OCIO. Working spaces are particularly nice to do color calculations in, which programs like Krita do often. It's therefore recommended to have a working space profile for your image.

Aesthetic or Look spaces

These are special spaces that have been deformed to give a certain look to an image. Krita doesn't deliver Look profiles for ICC, nor does it yet support Look spaces for OCIO.

Color managed workflow

Knowing this about these spaces of course doesn't give you an idea of how to use them, but it does make it easier to explain how to use them. So let us look at a typical color management workflow:

A typical example of a color managed workflow. We have input from scanners and cameras, which we convert to a working space that can be used between different editing software, and is converted to an output space for viewing on screen or printing.

In a traditional color managed workflow, we usually think in terms of real world colors being converted to computer colors and the other way around. So, for example photos from a camera or scanned in images. If you have a device space of such a device, we first assign said device space to the image, and then convert it to a working space.

We then do all our editing in the working space, and use the working space to communicate between editing programs. In Krita's case, due to it having two color management systems, we use ICC profiles between programs like GIMP 2.9+, Inkscape, digiKam and Scribus, and OCIO configuration between Blender and Natron.

You also store your working files in the working space, just like how you have the layers unmerged in the working file, or have it at a very high resolution.

Sometimes, we apply aesthetic or 'look' spaces to an image as part of the editing process. This is rather advanced, and probably not something to worry about in Krita's case.

Then, when we're done editing, we try to convert to an output space, which is another device space. This can be CMYK for printers or a special screen RGB profile. When you are dealing with professional printing houses, it is best to ask them about this step. They have a lot of experience with doing the best conversion, and may prefer to do the conversion from your working space to the device space of their printers.

Another form of output is the way your screen displays the color. Unlike regular output, this one is done all the time during editing: After all, you need to be able to see what you are doing, but your screen is still a device with a device space, so it does distort how the image looks. In this manner, you can see your screen as a set of binoculars you have to look through to see your image at all.

Therefore, without a profiled monitor, you actually don't know what the actual colors you are working with are like, because the computer doesn't know the relevant properties of your screen. So if you profiled your monitor, give Krita the profile in the settings, and select the sRGB space to draw in, you are for the first time seeing the actual colors of the sRGB space.

So what does this mean?

When we paint from scratch, we can see our screen profile as the input space, because we use it to determine what colors to pick. This somewhat simplifies the workflow, but makes the screen profile and viewing conditions more important.

Now, photographers and people who do a tricky discipline of VFX called 'color grading' will go completely mad over trying to get the colors they put in to come out 100% correctly, and will even count in factors like the time of day and the color they painted their walls. For example, if the wall behind your computer is pure red, your eyes will adjust to be less sensitive to red, which means that the colors they pick in the program could come out redder. We call these the viewing conditions.

Thankfully, artists have to worry a slight bit less about this. As illustrations are fully handmade, we are able to identify the important bits and make appropriate contrasts between colors. This means that even if our images turn out to be slightly redder than intended, it is less likely the whole image is ruined. If we look back at the kindergarten example above, we still understand what the image was supposed to look like, despite there being different colors on each image. Furthermore, because the colors in illustrations are deliberately picked, we can correct them more easily on a later date. Yet, at the same time, it is of course a big drag to do this, and we might have had much more flexibility had we taken viewing conditions under consideration.

That said, for artists it is also very useful to understand the working spaces. Different working spaces give different results with filters and mixing, and only some working spaces can be used for advanced technology like HDR.

Similarly, Krita, as a program intended to make images from scratch, doesn't really worry about assigning workspaces after having made the image. But because you are using the screen as a binocular to look at your image, and to pick colors, you can see your screen's device space as an input space to the image. Hence why profiling your monitor and giving the profile to Krita in the settings can help with preparing your work for print and future ventures in the long run.

Overall, it is kinda useful to keep things like viewing conditions in the back of your mind. Many professional artists use a mid-gray color as their default canvas background because they find they create much more dynamic images due to having improved their viewing conditions. It is also why a lot of graphics programs, including Krita, come with a dark theme nowadays. (Though, of course this might also be because dark themes can be considered cool, who knows.)

ICC profiles

An ICC profile is a set of coordinates describing the extremities of the device space within XYZ, and it is the color management data you use to communicate your working space to printers and applications that are designed for the print industry, such as GIMP, Scribus, Photoshop, Illustrator, Inkscape, Digikam, RawTheraphee, etc. You have two types of ICC profiles:

Matrix Shaper profiles.

These are delivered alongside Krita. Matrix shaper profiles are made by setting parameters and interpolating between these to get the exact size of the color space. Due to this, Krita's color space browser can give you a lot of information on these profiles. Such profiles are also preferable as working space.

Matrix shaper profiles have a few parameters that describe the color space which are then interpolated between, this requires a lot of maths.

cLUT profiles

These are fairly rare, and primarily used to describe printer profiles, such as CMYK. cLUT, or Color Look-up Table profiles store far more data than Matrix shaper profiles, so they can hold data of little particularities caused by, for example, unexpected results from mixing pigments. This is a far more organic approach to describing a color space, hence why a lot of programs that don't care for color management much don't support these.

cLUT profiles work by holding tables of each color in a color space and their respective coordinates in a reference space. For CMYK this is typically L*A*B* and for the rest XYZ. These tables are tricky to make, which means these profiles are a lot rarer.

The interesting thing about ICC profiles is that your working space can be larger than your device space. This is generally not bad. However, when converting, you do end up with the question of how to translate the working space values.

Perceptual

This just squishes the values of the working space into the space it's converted to. It's a nice method to see all possible values in this, but not so good if you want accurate color reproduction. Use this if you want to see all colors in an image, or want to express all possible contrasts. Doesn't work with Matrix Shaper profiles, defaults to relative colorimetric.

Absolute Colorimetric.

The opposite to Perceptual, Absolute colorimetric will attempt to retain all the correct colors at whatever cost, which may result in awful looking colors. Recommended only for reproduction work. Doesn't work with Matrix Shaper profiles in Krita due to ICC v4 workflow standards.

Relative Colorimetric

An in between solution between perceptual and absolute, relative will try to fit whatever colors it can match between color spaces. It does this by aligning the white and black points. It cuts off the rest to their respective borders. This is what all matrix shaper profiles default to during conversion, because the ICC v4 workflow specifies to only use Relative Colorimetric for matrix shaper profiles.

Saturation

Does anything to retain colorfulness, even hue will be sacrificed. Used in infographics. Doesn't work with Matrix Shaper profiles, defaults to relative colorimetric.

ICC profile version is the last thing to keep in mind when dealing with ICC profiles. Krita delivers both Version 2 and Version 4 profiles, with the later giving better results in doing color maths, but the former being more widely supported (as seen below in 'Interaction with other applications'). This is also why Krita defaults to V2, and we recommend using V2 when you aren't certain if the other programs you are using support V4.

LUT docker and HDR imaging

The LUT Management is the second important bit of color management in Krita that is shared between Krita and programs like Blender, Natron and Nuke, and only uses Look Up Tables that are configured via a config file.

You can set the workingspace of the image under input color space, and the display to sRGB or your own LUT if you have added it to the configuration. View in this case is for proofing transforms to a certain display device.

Component, exposure, gamma, whitepoint and blackpoint are knobs which allows you to modify the display filter.

As explained before, we can see our monitor as a telescope or binocular into the world of our picture. Which means it distorts our view of the image a little. But we can modify this binocular, or display filter to see our image in a different way. For example, to allow us to see the white in an image that are whiter than the white of our screen. To explain what that means, we need to think about what white is.

For example, white, on our monitor is full red, full green and full blue. But it's certainly different from white on our paper, or the color of milk, white from the sun, or even the white of our cell-phone displays.

Black similarly, is brighter on a LCD display than a LED one, and incomparable with the black of a carefully sealed room.

This means that there's potentially blacker blacks than screen black, and white whites than screen white. However, for simplicity's sake we still assign the black-point and the white-point to certain values. From there, we can determine whether a white is whiter than the white point, or a black blacker than the black-point.

The LUT docker allows us to control this display-filter and modify the distortion. This is useful when we start modifying images that are made with scene referred values, such as HDR photos, or images coming out of a render engine.

So, for example, we can choose to scale whiter-than-screen-white to our screen-white so we can see the contrasts there.

The point of this is that you can take advantage of more lightness detail in an image. While you can't see the difference between screen white and whiter-than-screen-white (because your screen can't show the difference), graphics programs can certainly use it.

A common example is matching the lighting between a 3d model and a real world scene. Others are advanced photo retouching, with much more contrast information available to the user. In painting itself, this allows you to create an image where you can be flippant with the contrast, and allow yourself to go as bright as you'd like.

LUT docker manipulations are per view, so you can create a new view and set it to luminosity. This way you can see the image in both color as well as grayscale and keep a good eye on your values.

Another example is to carefully watch the gradients in a certain section.

Like ICC, the LUT Docker allows you to create a profile of sorts for your device. In this case it's the 'lut', which stands for 'Look Up Table', and which can be added to OCIO by modifying the configuration file. When OCIO is turned on, the configuration in Settings ‣ Configure Krita ‣ Color Management is turned off, unless you are using the Internal color engine.

In summary

Krita has two modes of color management:

ICC works in terms of spaces relative to the CIEXYZ space, and requires an ICC profile.

OCIO works in terms of interpretation, and makes use of luts.

both can be made with a colorimeter.

If you want to have a properly color managed workflow, you have one made customary for the input device (your screen) and the output devices (your printer, or target screen). For web the output is always sRGB.

Set up your screen profiles under Settings ‣ Configure Krita ‣ Color management.

Do NOT use screen profiles or other device profiles to draw in. Use a working space profile such as any of the elle profiles for this, as the color maths will be much more predictable and pleasant. Krita will convert between your screen and working space on the fly, allowing you to pick the correct colors. This turns your screen into binoculars to view the image.

Use the appropriate color management for the appropriate workflow. If you are working with Blender, you will be better off using OCIO, than ICC. If you are working with Scribus or Photoshop, use ICC.

Krita does a lot of color maths, often concerning the blending of colors. This color maths works best in linear color space, and linear color space requires a bit depth of at the least 16bit to work correctly. The disadvantage is that linear space can be confusing to work in.

If you like painting, have a decent amount of RAM, and are looking to start your baby-steps in taking advantage of Krita's color management, try upgrading from having all your images in sRGB built-in to sRGB-v2-elle-g10.icc or rec2020-v2-elle-g10.icc at 16bit float. This'll give you better color blending while opening up the possibility for you to start working in hdr!

Nota

Some graphics cards, such as those of the NVidia-brand actually have the best performance under 16bit float, because NVidia cards convert to floating point internally. When it does not need to do that, it speeds up!

Nota

No amount of color management in the world can make the image on your screen and the image out of the printer have 100% the same color.

Exporting

When you have finished your image and are ready to export it, you can modify the color space to optimize it:

If you are preparing an image for the web:

If you use 16bit color depth or higher, convert the image to 8bit color depth. This will make the image much smaller.

Krita doesn't have built-in dithering currently, which means that 16 to 18bit conversions can come out a bit banded. But you can simulate it by adding a fill layer with a pattern, set this fill layer to overlay, and to 5% opacity. Then flatten the whole image and convert it to 8bit. The pattern will function as dithering giving a smoother look to gradients.

If it's a gray-scale image, convert it to gray-scale.

If it's a color image, keep it in the working space profile: Many web browsers these days support color profiles embedded into images. Firefox, for example, will try to convert your image to fit the color profile of the other monitor (if they have one). That way, the image will look almost exactly the same on your screen and on other profiled monitors.

Nota

In some versions of Firefox, the colors actually look strange: This is a bug in Firefox, which is because its color management system is incomplete [http://ninedegreesbelow.com/galleries/viewing-photographs-on-the-web.html], save your png, jpg or tiff without an embedded profile to work around this.

If you are preparing for print:

You hopefully made the picture in a working space profile instead of the actual custom profile of your screen, if not, convert it to something like adobe rgb, sRGB or rec2020.

Check with the printer what kind of image they expect. Maybe they expect sRGB color space, or perhaps they have their own profile.

Interaction with other applications

Blender

If you wish to use krita's OCIO functionality, and in particular in combination with Blender's color management, you can try to have it use Blender's OCIO config.

Blender's OCIO config is under <Blender-folder>/version number/datafiles/colormanagement. Set the LUT docker to use the OCIO engine, and select the config from the above path. This will give you blender's input and screen spaces, but not the looks, as those aren't supported in Krita yet.

Windows Photo Viewer

You might encounter some issues when using different applications together. One important thing to note is that the standard Windows Photo Viewer application does not handle modern ICC profiles. Krita uses version 4 profiles; Photo Viewer can only handle version 2 profiles. If you export to JPEG with an embedded profile, Photo Viewer will display your image much too dark.

Example workflows

Here are some example workflows to get a feeling of how your color management workflow may look like.

As mentioned before, input for your screen is set via Settings ‣ Configure Krita ‣ Color management, or via the LUT docker's 'screen space'. Working space is set via new file per document, or in the LUT docker via 'input space'.

Webcomic

Input

Your screen profile. (You pick colors via your screen)

Workingspace

sRGB (the default screen profile) or any larger profile if you can spare the bit depth and like working in them.

Output

sRGB, ICC version 2, sRGB TRC for the internet, and a specialized CMYK profile from the printing house for the printed images.

Use the sRGB-elle-V2-srgbtrc.icc for going between Inkscape, Photoshop, Painttool Sai, Illustrator, GIMP, Manga Studio, Paintstorm Studio, MyPaint, Artrage, Scribus, etc. and Krita.

If you are using a larger space via ICC, you will only be able to interchange it between Krita, Photoshop, Illustrator, GIMP 2.9, Manga Studio and Scribus. All others assume sRGB for your space, no matter what, because they don't have color management.

If you are going between Krita and Blender, Nuke or Natron, use OCIO and set the input space to 'sRGB', but make sure to select the sRGB profile for ICC when creating a new file.

For the final for the web, convert the image to sRGB 8bit, srgbtrc, do not embed the ICC profile. Then, if using png, put it through something like pngcrush or other png optimizers. sRGB in this case is chosen because you can assume the vast majority of your audience hasn't profiled their screen, nor do they have screens that are advanced enough for the wide gamut stuff. So hence why we convert to the screen default for the internet, sRGB.

Print

Input

Your screen profile. (You pick colors via your screen)

Workingspace

sRGB or rec2020 if you can afford the bit-depth being 16bit.

Output

Specialized CMYK profile from the printing house for the printed images.

The CMYK profiles are different per printer, and even per paper or ink-type so don't be presumptuous and ask ahead for them, instead of doing something like trying to paint in any random CMYK profile. As mentioned in the viewing conditions section, you want to keep your options open.

You can set the advanced color selector to transform to a given profile via Settings ‣ Configure Krita ‣ Color Selector Settings. There, tick Color Selector Uses Different Color Space than Image and select the CMYK profile you are aiming for. This will limit your colors a little bit, but keep all the nice filter and blending options from RGB.

Games

Input

Your screen profile. (You pick colors via your screen)

Workingspace

sRGB or grayscale linear for roughness and specular maps.

Output

This one is tricky, but in the end it'll be sRGB for the regular player.

So this one is tricky. You can use OCIO and ICC between programs, but recommended is to have your images to the engine in sRGB or grayscale. Many physically based renderers these days allow you to set whether an image should be read as a linear or srgbtrc image, and this is even vital to have the images being considered properly in the physically based calculations of the game renderer.

While game engines need to have optimized content, and it's recommended to stay within 8bit, future screens may have higher bit depths, and when renderers will start supporting those, it may be beneficial to develop a workflow where the working-space files are rather unnecessarily big and you run some scripts to optimize them for your current render needs, making updating the game in the future for fancier screens less of a drag.

Normal maps and heightmaps are officially supposed to be defined with a 'non-color data' working space, but you'll find that most engines will not care much for this. Instead, tell the game engine not to do any conversion on the file when importing.

Specular, glossiness, metalness and roughness maps are all based on linear calculations, and when you find that certain material has a metalness of 0.3, this is 30% gray in a linear space. Therefore, make sure to tell the game engine renderer that this is a linear space image (or at the very least, should NOT be converted).

Vegeu també

Visualizing the XYZ color space [https://www.youtube.com/watch?v=x0-qoXOCOow]

Basics of gamma correction [http://www.cambridgeincolour.com/tutorials/gamma-correction.htm]

Panda3d example of how an image that has gamma encoded without the 3d renderer being notified of it having gamma-encoding can result in too dark images [https://www.panda3d.org/blog/the-new-opengl-features-in-panda3d-1-9/]

2d examples of the effect of gamma-encoding on color maths [http://ninedegreesbelow.com/photography/linear-gamma-blur-normal-blend.html]

Basic overview of color management from argylcms manual [http://www.argyllcms.com/doc/ColorManagement.html]

Mixing Colors

Much like physical media, there are many ways to mix colors together in Krita. Traditional painters and illustrators often use techniques like glazing, scumbling, and hatching to mix colors directly on their canvas, on top of mixing colors together on a palette or even within the hairs of their brush. With a little bit of practice and know-how, and thanks to the variety of powerful tools in Krita, we can mimic all of these mixing techniques in digital painting.

In both traditional and digital painting, mixing techniques can be divided into two major categories: let's call them "on-canvas" and "off-canvas".

On-Canvas Mixing

On-canvas mixing techniques are ones where multiple colors are combined directly on the canvas as the artist paints. This takes a few forms, including layering semi-transparent color on top of another color, using texture to change how a color is perceived, or even in the interaction between two areas of wet paint in traditional media. Bottom line: on-canvas mixing happens right on the canvas and is a great tool for artistic exploration and "happy accidents".

Glazing

In traditional painting, glazing is overlaying many different semi-transparent layers to create on-canvas color mixtures. Likewise, in digital painting we can also use glazing to mix colors directly on our canvas. This is one of the most fundamental and commonly used mixing techniques in digital painting.

We first lay down a semi-transparent layer on top of another color that we intend to mix with. Then, we pick the resultant color with Ctrl + mouseleft (this can be configured in the canvas input settings), and paint with that. Depending on our brush's opacity setting, each time we glaze one color over another we will get a color that is somewhere between those two colors, often leading to a nice mixture.

We can mix even more easily with glazing when we set our brush's flow to a lower setting. Subtly different than opacity, flow is transparency per dab instead of stroke, and so it gives us softer strokes without giving up control.

Furthermore, we can combine glazing with various blending modes to achieve different, interesting effects. For example, glazing with the multiply blending mode to create nice shadows:

Staring with line art and base colors.

Using a semi-transparent brush that's set to multiply, we can add colored layers to suggest shadows and mid-tones. The multiply blending mode will darken and interact with each base color differently.

Then, using a brush with low flow (~0.30), we can pick the resulting colors and lay down more layers. Not only does this help you define the different planes and forms that are so crucial for creating a sense of depth and three-dimensionality, it also gives quite a nice, painterly effect!

Continue with a lower opacity and flow to create even smoother gradients. Make your edges as sharp or smooth as your subject matter and art style demands!

Smudging

Smudge mixing is done with the Motor del pinzell amb esborronat del color, a special brush engine that allows you to mix your current brush color with the color(s) under the brush. It's a very powerful type of brush that gives a lovely painterly effect. Performance wise, it's a bit more demanding and slower than the regular pixel brush.

If you remove all paint from a smudge brush, you get a simple-yet-powerful smudge effect:

Different smudge brushes have different effects, so be sure to try them all out!

Scumbling

Scumbling is similar to glazing, except instead of having a semi-opaque layer, we use layers of textured or patterned paint.

Like most painting programs, Krita allows you to pick a Consells del pinzell, which can be used to create a textured effect like that of scumbling.

Krita's brush engines also allow you to use Textura. This allows you to create interesting and stylized screentone-like effects.

With glazing can get you pretty far when it comes to defining planes and forms, scumbling is the best method to create texture and to break up big pasty flats in your painting.

Off-Canvas Mixing

Off-canvas mixing has basically always been a core tool for artists everywhere; when we think of the stereotypical artist we might imagine someone with a few brushes in one hand and a wooden palette in the other. Whether it's oils, watercolor, or other traditional media, for the artist to have absolute control over their colors it's crucial to have some kind of palette, plate, jar, or other off-canvas area to mix colors together. While it's easy to overlook this in digital painting (where selecting fresh new colors without mixing at all is both easy and free), Krita has a few very useful and unique features for off-canvas mixing.

Color Picker Blending

Novetat de la versió 4.1.

Krita, like almost every art and graphics program, has a Color Selector Tool which allows you to very quickly sample a color from any pixel on your canvas. While this tool may seem relatively simple and humble, it is also one of the most important and commonly used tools in the digital artist's toolbox - perhaps only second to the brush! In fact, the color picker tool is at the very heart of mixing colors, and is often used in combination with on-canvas techniques like glazing and scumbling to produce smooth blends of color.

And still, there is more to this little tool than meets the eye! Not only can you configure Krita's color picker to sample from the average color of a radius of pixels, Krita's Color Picker also has a unique blending feature: a powerful and intuitive tool for off-canvas color mixing!

The Color Picker Blending feature changes the way that picking colors has traditionally worked for decades; instead of completely replacing your current brush color with the newly sampled color, blending allows you to quickly "soak up" some portion of the sampled color, which is then mixed with your current brush color.

You can use Color Picker Blending much like a physical paint brush in traditional media. If you were to dip your paint brush into a pool of blue paint, and then immediately dip again into a pool of red paint and paint a stroke across your canvas, the stoke wouldn't be pure red - it would be some combination of blue and red which would mix to create an intermediate purple color. Which shade of purple would depend on the ratio of paints that mix together within the hairs of your brush, and this is essentially what the Color Picker's "blend" option controls: what percentage of sampled color is mixed together with your current brush color!

Not only does Krita's Color Picker Blending feel even more like mixing paints, it is also completely off-canvas and independent of opacity, flow, shape, and other brush settings. Furthermore, unlike most on-canvas mixing techniques, Color Picker Blending works regardless of the location of colors on your canvas - enabling you to mix with colors at any position, on any layer, or even in different documents! Quickly mix lighting colors with local colors, mix the ambient sky color into shadows, create atmospheric depth, mix from a preselected palette of colors in another layer/document, etc.

To use Color Picker Blending, simply set the "blend" option in the Tool Options Docker while the Color Picker Tool is active; setting blend to 100% will cause your Color Picker to work in the traditional way (completely replacing your brush color with the picked color), setting to around 50% will give you a half-way mix between colors, and setting to a lower value will create more subtle shifts in colors each click. Of course, blending affects both your dedicated Color Picker Tool as well as the Ctrl + mouseleft shortcut.

Nota

Clicking and dragging the Color Picker around the canvas currently causes it to sample many times as it switches pixels. You can use this trait to quickly soak up more color by "dipping" your color picker into color and swirling it around. This can be pretty satisfying! However, this also means that some care must be taken to prevent from accidentally picking up more color than you want. It's pretty easy to click a single pixel only one time using a mouse, but when painting with a drawing tablet and pen it can sometimes be desirable to use a slightly lower blend setting!

The Digital Colors Mixer

Somewhat hidden away in the Dockers menu (Settings ‣ Dockers ‣ Digital Colors Mixer), this can be a useful tool for off-canvas mixing. The Digital Colors Mixer looks a little bit like an audio mixing board that you'd see in a recording studio, but instead of mixing music it mixes colors! It contains 6 independent color mixers that mix your current brush color with any color of your choosing.

By clicking the color buttons below each mixer you can choose a palette of colors to mix with. Above each mixer is a color patch that will produce a color that mixes some amount of your current brush color with the palette color. Colors towards the top of the mixer will deliver subtle changes to your current color, while colors towards the bottom will be much closer to the palette color of that channel.

Other Tips

Outside of making it easier to create smooth gradients, mixing has another benefit: It allows you to create a cohesive piece.

Limiting the number of colors we use and then mixing tends to give a more cohesive palette, as we're not trying to do too much at once. This cohesive palette in turn means it will become easier to create a certain mood in an image. Sometimes, mixing in a little bit of accent color can also create unexpected results which in turn can be a little discovery for the audience to delight over as they discover the world of your image.

What we can learn from this, is that the next time we select, say, gray, instead of reaching for a random or generic gray from the Advanced Color Selector, consider using one of Krita's many wonderful mixing tools to create an interesting and fitting gray from hues that are roughly complementary (opposite each other on the hue wheel).

While on-canvas and off-canvas techniques are fundamentally different categories of mixing colors, they are not mutually exclusive. All of the mixing methods in this article have pros and cons; different tools can be useful for different situations, and combining various techniques can be extremely powerful and fun!

Finally, mixing colors will often go far better in a higher bit-depth like 16bit, though it'll make the image take up much more working memory (RAM). Furthermore, using a linear color space can often give far better mixtures than a gamma-corrected one, though doing sketches and line art is easier to do in a gamma-corrected space.

Color Models

Krita has many different color spaces and models. Following here is a brief explanation of each, and their use-cases.

RGB

Red, Green, Blue.

These are the most efficient primaries for light-based color mixing, like computer screens. Adding Red, Green and Blue light together results in White, and is thus named the additive color wheel.

RGB is used for two purposes:

Images that are meant for viewing on a screen:

So that could be images for the web, buttons, avatars, or just portfolio images.

Or for Video games, both sprites and textures are best in RGB there.

Or for 3d rendering, visual effects and cg animation.

And for the working space. A working space is an RGB gamut that is really large and predictable, meaning it's good for image manipulation. You use this next to a profiled monitor. This way you can have precise colors while also being able to view them correctly on multiple screens.

Blending modes in RGB

| Color 1 | Color 2 | Normal | Multiply | Screen
| R | G | B | R | G | B | R | G | B | R | G | B | R | G | B
R & G | 1.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 1.0 | 0.0
Gray | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.25 | 0.25 | 0.25 | 0.75 | 0.75 | 0.75

RGB models: HSV, HSL, HSI and HSY

These are not included as their own color spaces in Krita. However, they do show up in the blending modes and color selectors, so a brief overview:

--Images of relationship rgb-hsv etc.

Hue

The tint of a color, or, whether it's red, yellow, green, etc. Krita's Hue is measured in 360 degrees, with 0 being red, 120 being green and 240 being blue.

Saturation

How vibrant a color is. Saturation is slightly different between HSV and the others. In HSV it's a measurement of the difference between two base colors being used and three base colors being used. In the others it's a measurement of how close a color is to gray, and sometimes this value is called Chroma. Saturation ranges from 0 (gray) to 100 (pure color).

Value

Sometimes known as Brightness. Measurement of how much the pixel needs to light up. Also measured from 0 to 100.

Lightness

Where a color aligns between white and black. This value is non-linear, and puts all the most saturated possible colors at 50. Ranges from 0 to 100.

Intensity

Similar to lightness, except it acknowledges that yellow (1,1,0) is lighter than blue (0,0,1). Ranges from 0 to 100.

Luma (Y')

Similar to lightness and Intensity, except it weights the red, green and blue components based real-life measurements of how much light a color reflects to determine its lightness. Ranges from 0 to 100. Luma is well known for being used in film-color spaces.

Grayscale

This color space only registers gray values. This is useful, because by only registering gray values, it only needs one channel of information, which in turn means the image becomes much lighter in memory consumption!

This is useful for textures, but also anything else that needs to stay grayscale, like Black and White comics.

| Color 1 | Color 2 | Normal | Multiply | Screen
| G | G | G | G | G
Gray | 0.5 | 0.5 | 0.5 | 0.25 | 0.75

CMYK

Cyan, Magenta, Yellow, Key

This is the color space of printers. Unlike computers, printers have these four colors, and adding them all adds up to black instead of white. This is thus also called a 'subtractive' color space.

| Color 1 | Color 2 | Normal | Multiply | Screen
| C | M | Y | K | C | M | Y | K | C | M | Y | K | C | M | Y | K | C | M | Y | K
R & G | 0.0 | 1.0 | 1.0 | 0.0 | 1.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 1.0 | 0.0 | 0.25 | 0.25 | 1.0 | 0.0 | 0.75 | 0.75 | 1.0 | 0.0
Gray | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | 0.75

There's also a difference between 'colored gray' and 'neutral gray' depending on the profile.

| 25% | 50% | 75%
| C | M | Y | K | C | M | Y | K | C | M | Y | K
Colored Gray | 0.25 | 0.25 | 0.25 | 0.25 | 0.5 | 0.5 | 0.5 | 0.5 | 0.75 | 0.75 | 0.75 | 0.75
Neutral Gray | 0.0 | 0.0 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.75

In Krita, there's also the fact that the default color is a perfect black in RGB, which then gets converted to our default CMYK in a funny manner, giving a yellow look to the strokes. Again, another good reason to work in RGB and let the conversion be done by the printing house.

While CMYK has a smaller 'gamut' than RGB, however, it's still recommended to use an RGB working space profile to do your editing in. Afterwards, you can convert it to your printer's CMYK profile using either perceptual or relative colorimetric intent. Or you can just give the workspace rgb image to your printer and let them handle the work.

YCrCb

Luminosity, Red-chroma, Blue-chroma

YCrCb stands for

Y'/Y

Luma/Luminosity, thus, the amount of light a color reflects.

Cr

Red Chroma. This value measures how red a color is versus how green it is.

Cb

Blue Chroma. This value measures how blue a color is versus how yellow it is.

This color space is often used in photography and in (correct) implementations of JPEG. As a human you're much more sensitive to the lightness of colors, and thus JPEG tries to compress the Cr and Cb channels, and leave the Y channel in full quality.

Avís

Krita doesn't bundle a ICC profile for YCrCb on the basis of there being no open source ICC profiles for this color space. It's unusable without one, and also probably very untested.

XYZ

Back in 1931, the CIE (Institute of Color and Light), was studying human color perception. In doing so, they made the first color spaces, with XYZ being the one best at approximating human vision.

It's almost impossible to really explain what XYZ is.

Y

is equal to green.

Z

akin to blue.

X

is supposed to be red.

XYZ is used as a baseline reference for all other profiles and models. All color conversions are done in XYZ, and all profiles coordinates match XYZ.

L*a*b*

Stands for:

L*

Lightness, similar to luminosity in this case.

a*

a* in this case is the measurement of how magenta a color is versus how green it is.

b*

b* in this case is a measurement of how yellow a color is versus how blue a color is.

L*a*b* is supposed to be a more comprehensible variety of XYZ and the most 'complete' of all color spaces. It's often used as an in between color space in conversion, but even more as the correct color space to do color-balancing in. It's far easier to adjust the contrast and color tone in L*a*b*.

L*a*b* is technically the same as Photoshop's LAB. Photoshop specifically uses CIELAB d50.

Filters and blending modes

Maybe you have noticed that blending modes in LAB don't work like they do in RGB or CMYK. This is because the blending modes work by doing a bit of maths on the color coordinates, and because color coordinates are different per color space, the blending modes look different.

Color Space Size

Using Krita's color space browser, you can see that there are many different space sizes.

How do these affect your image, and why would you use them?

There are three primary reasons to use a large space:

Even though you can't see the colors, the computer program does understand them and can do color maths with it.

For exchanging between programs and devices: most CMYK profiles are a little bigger than our default sRGB in places, while in other places, they are smaller. To get the best conversion, having your image in a space that encompasses both your screen profile as your printer profile.

For archival purposes. In other words, maybe monitors of the future will have larger amounts of colors they can show (spoiler: they already do), and this allows you to be prepared for that.

Let's compare the following gradients in different spaces:

On the left we have an artifact-ridden color managed jpeg file with an ACES sRGBtrc v2 profile attached (or not, if not, then you can see the exact different between the colors more clearly). This should give an approximation of the actual colors. On the right, we have an sRGB png that was converted in Krita from the base file.

Each of the gradients is the gradient from the max of a given channel. As you can see, the mid-tone of the ACES color space is much brighter than the mid-tone of the RGB colorspace, and this is because the primaries are further apart.

What this means for us is that when we start mixing or applying filters, Krita can output values higher than visible, but also generate more correct mixes and gradients. In particular, when color correcting, the bigger space can help with giving more precise information.

If you have a display profile that uses a LUT, then you can use perceptual to give an indication of how your image will look.

Bigger spaces do have the downside they require more precision if you do not want to see banding, so make sure to have at the least 16bit per channel when choosing a bigger space.

Gamma and Linear

Now, the situation we talk about when talking theory is what we would call 'linear'. Each step of brightness is the same value. Our eyes do not perceive linearly. Rather, we find it more easy to distinguish between darker grays than we do between lighter grays.

As humans are the ones using computers, we have made it so that computers will give more room to darker values in the coordinate system of the image. We call this 'gamma-encoding', because it is applying a gamma function to the TRC or transfer function of an image. The TRC in this case being the Tone Response Curve or Tone Reproduction Curve or Transfer function (because color management specialists hate themselves), which tells your computer or printer how much color corresponds to a certain value.

One of the most common issues people have with Krita's color management is the assigning of the right colorspace to the encoded TRC. Above, the center Pepper is the right one, where the encoded and assigned TRC are the same. To the left we have a Pepper encoded in sRGB, but assigned a linear profile, and to the right we have a Pepper encoded with a linear TRC and assigned an sRGB TRC. Image from Pepper & Carrot [http://www.peppercarrot.com/]

The following table shows how there's a lot of space being used by lighter values in a linear space compared to the default sRGB TRC of our modern computers and other TRCs available in our delivered profiles:

If you look at linear of rec 709 TRCs, you can see there's quite a jump between the darker shades and the lighter shades, while if we look at the Lab L* TRC or the sRGB TRC, which seem more evenly spaced. This is due to our eyes' sensitivity to darker values. This also means that if you do not have enough bit depth, an image in a linear space will look as if it has ugly banding. Hence why, when we make images for viewing on a screen, we always use something like the LAB L*, sRGB or Gamma 2.2 TRCs to encode the image with.

However, this modification to give more space to darker values does lead to wonky color maths when mixing the colors.

We can see this with the following experiment:

Left: Colored circles blurred in a regular sRGB space. Right: Colored circles blurred in a linear space.

Colored circles, half blurred. In a gamma-corrected environment, this gives an odd black border. In a linear environment, this gives us a nice gradation.

This also counts for Krita's color smudge brush:

That's right, the 'muddying' of colors as is a common complaint by digital painters everywhere, is in fact, a gamma-corrected colorspace mucking up your colors. If you had been working in LAB to avoid this, be sure to try out a linear rgb color space.

What is happening under the hood

Imagine we want to mix red and green.

First, we would need the color coordinates of red and green inside our color space's color model. So, that'd be...

Color | Red | Green | Blue
Red | 1.0 | 0.0 | 0.0
Green | 0.0 | 1.0 | 0.0

We then average these coordinates over three mixes:

| Red | Mix1 | Mix2 | Mix3 | Green
Red | 1.0 | 0.75 | 0.5 | 0.25 | 0.0
Green | 0.0 | 0.25 | 0.5 | 0.75 | 1.0
Blue | 0.0 | 0.0 | 0.0 | 0.0 | 0.0

But to figure out how these colors look on screen, we first put the individual values through the TRC of the color-space we're working with:

Then we fill in the values into the correct spot. Compare these to the values of the mixture table above!

And this is why color mixtures are lighter and softer in linear space. Linear space is more physically correct, but sRGB is more efficient in terms of space, so hence why many images have an sRGB TRC encoded into them. In case this still doesn't make sense: sRGB gives largely darker values than linear space for the same coordinates.

So different TRCs give different mixes between colors, in the following example, every set of gradients is in order a mix using linear TRC, a mix using sRGB TRC and a mix using LAB L* TRC.

So, you might be asking, how do I tick this option? Is it in the settings somewhere? The answer is that we have several ICC profiles that can be used for this kind of work:

scRGB (linear)

All 'elle'-profiles ending in 'g10', such as sRGB-elle-v2-g10.icc.

In fact, in all the 'elle'-profiles, the last number indicates the gamma. 1.0 is linear, higher is gamma-corrected and 'srgbtrc' is a special gamma correction for the original sRGB profile.

If you use the color space browser, you can tell the TRC from the 'estimated gamma'(if it's 1.0, it's linear), or from the TRC widget in Krita 3.0, which looks exactly like the curve graphs above.

Even if you do not paint much, but are for example making textures for a videogame or rendering, using a linear space is very beneficial and will speed up the renderer a little, for it won't have to convert images on its own.

The downside of linear space is of course that white seems very overpowered when mixing with black, because in a linear space, light grays get more room. In the end, while linear space is physically correct, and a boon to work in when you are dealing with physically correct renderers for videogames and raytracing, Krita is a tool and no-one will hunt you down for preferring the dark mixing of the sRGB TRC.

Profiling and Calibration

So to make it simple, a color profile is just a file defining a set of colors inside a pure XYZ color cube. This "color set" can be used to define different things:

the colors inside an image

the colors a device can output

Choosing the right workspace profile to use depends on how much colors you need and on the bit depth you plan to use. Imagine a line with the whole color spectrum from pure black (0,0,0) to pure blue (0,0,1) in a pure XYZ color cube. If you divide it choosing steps at a regular interval, you get what is called a linear profile, with a gamma=1 curve represented as a straight line from 0 to 1. With 8bit/channel bit depth, we have only 256 values to store this whole line. If we use a linear profile as described above to define those color values, we will miss some important visible color change steps and have a big number of values looking the same (leading to posterization effect).

This is why was created the sRGB profile to fit more different colors in this limited amount of values, in a perceptually regular grading, by applying a custom gamma curve (see picture here: http://en.wikipedia.org/wiki/SRGB) to emulate the standard response curve of old CRT screens. So sRGB profile is optimized to fit all colors that most common screen can reproduce in those 256 values per R/G/B channels. Some other profiles like Adobe RGB are optimized to fit more printable colors in this limited range, primarily extending cyan-green hues. Working with such profile can be useful to improve print results, but is dangerous if not used with a properly profiled and/or calibrated good display. Most common CMYK workspace profile can usually fit all their colors within 8bit/channel depth, but they are all so different and specific that it's usually better to work with a regular RGB workspace first and then convert the output to the appropriate CMYK profile.

Starting with 16bit/channel, we already have 65536 values instead of 256, so we can use workspace profiles with higher gamut range like Wide-gamut RGB or Pro-photo RGB, or even unlimited gamut like scRGB.

But sRGB being a generic profile (even more as it comes from old CRT specifications...), there are big chances that your monitor have actually a different color response curve, and so color profile. So when you are using sRGB workspace and have a proper screen profile loaded (see next point), Krita knows that the colors the file contains are within the sRGB color space, and converts those sRGB values to corresponding color values from your monitor profile to display the canvas.

Note that when you export your file and view it in another software, this software has to do two things:

read the embed profile to know the "good" color values from the file (which most software do nowadays; when they don't they usually default to sRGB, so in the case described here we're safe )

and then convert it to the profile associated to the monitor (which very few software actually does, and just output to sRGB.. so this can explain some viewing differences most of the time).

Krita uses profiles extensively, and comes bundled with many.

The most important one is the one of your own screen. It doesn't come bundled, and you have to make it with a color profiling device. In case you don't have access to such a device, you can't make use of Krita's color management as intended. However, Krita does allow the luxury of picking any of the other bundled profiles as working spaces.

Profiling devices

Profiling devices, called Colorimeters, are tiny little cameras of a kind that you connect to your computer via an usb, and then you run a profiling software (often delivered alongside of the device).

Nota

If you don't have software packaged with your colorimeter, or are unhappy with the results, we recommend Argyllcms [http://www.argyllcms.com/]

The little camera then measures what the brightest red, green, blue, white and black are like on your screen using a predefined white as base. It also measures how gray the color gray is.

It then puts all this information into an ICC profile, which can be used by the computer to correct your colors.

It's recommended not to change the "calibration" (contrast, brightness, you know the menu) of your screen after profiling. Doing so makes the profile useless, as the qualities of the screen change significantly while calibrating.

To make your screen display more accurate colors, you can do one or two things: profile your screen or calibrate and profile it.

Just profiling your screen means measuring the colors of your monitor with its native settings and put those values in a color profile, which can be used by color-managed application to adapt source colors to the screen for optimal result. Calibrating and profiling means the same except that first you try to calibrate the screen colors to match a certain standard setting like sRGB or other more specific profiles. Calibrating is done first with hardware controls (lightness, contrast, gamma curves), and then with software that creates a vcgt (video card gamma table) to load in the GPU.

So when or why should you do just one or both?

Profiling only:

with a good monitor

you can get most of the sRGB colors and lot of extra colors not inside sRGB. So this can be good to have more visible colors.

with a bad monitor

you will get just a subset of actual sRGB, and miss lot of details, or even have hue shifts. Trying to calibrate it before profiling can help to get closer to full-sRGB colors.

Calibration+profiling:

bad monitors

as explained just before.

multi-monitor setup

when using several monitors, and specially in mirror mode where both monitor have the same content, you can't have this content color-managed for both screen profiles. In such case, calibrating both screens to match sRGB profile (or another standard for high-end monitors if they both support it) can be a good solution.

soft-proofing

when you need to match an exact rendering context for soft-proofing, calibrating can help getting closer to the expected result. Though switching through several monitor calibration and profiles should be done extremely carefully.

Scene Linear Painting

Previously referred to as HDR painting and Scene Referred painting, Scene Linear Painting is doing digital painting in a peculiar type of colorspace. It is painting in a color space that is...

Linear - there’s no gamma encoding, or tone-mapping or whatever going on with the pixels you manipulate. (This is different from the pixels you see, but we’ll get to that later)

Floating Point - So 16bit or 32bit floating point per channel.

These are the two important characteristics. The colorspace has a few more properties than this, such as the white point, or more importantly, the colorants that make up the gamut. But here’s the thing, those two could be anything, as long as the space is linear and the color depth is floating point.

So, Scene Linear is not a single one colorspace, but a TYPE of colorspace. You can have a scene linear space that uses the sRGB/rec 709 colorants, or one that uses adobeRGB, or maybe one that uses rec 2020, as long as it is linear and in a floating point bit depth.

These two factors are for one reason: To make black and white arbitrary values. This might seem a bit weird. But when you are dealing with light-sources, you are dealing with a massive range of contrasts, and will have to decide afterwards which white and black you’d like to have. This is what the scene means in scene-linear, the relevant values are unique per scene, like a real world scene: a flower field lit by moonlight, a city in twilight or a sunny beach. You want to be able to put the right emphasis on the most important contrasting values, and being able to choose what is white and what is black is a very powerful tool here. After all, humans in the real world can see much more when they get used to the dark, or to the sun, so why not apply that to how we make our images?

This is also why it needs to be Linear. Gamma and Tone-mapped color spaces are already choosing which contrast is the most important to you. But for that, they too need to choose what is white or black. Linear doesn’t make such assumptions, so much better for when you want to choose yourself. You will eventually want to stick your image through some tone-mapping or gamma correction, but only at the end after you have applied filters and mixed colors!

In fact, there’s always a non-destructive sort of transform going on while you are working on your image which includes the tone-mapping. This is called a display or view transform, and they provide a sort of set of binoculars into the world of your image. Without it, your computer cannot show these colors properly; it doesn’t know how to interpret it properly, often making the image too dark. Providing such a transform and allowing you to configure it is the prime function of color management.

Between different view and display transforms, there’s also a difference in types. Some are really naive, others are more sophisticated, and some need to be used in a certain manner to work properly. The ICC color management can only give a certain type of view transforms, while OCIO color management in the LUT docker can give much more complex transforms easily configurable and custom settings that can be shared between programs.

Above, an example of the more naive transform provided by going from scene-linear sRGB to regular sRGB, and to the right a more sophisticated transform coming from the filmic blender OCIO configuration. Look at the difference between the paws. Image by Wolthera van Hövell tot Westerflier, License: CC-BY-SA

Conversely, transforming and interpreting your image’s colors is the only thing OCIO can do, and it can do it with really complex transforms, really fast. It doesn’t understand what your image’s color space is originally, doesn’t understand what CMYK is, and there’s also no such thing as a OCIO color profile. Therefore you will need to switch to an ICC workflow if you wish to prepare for print.

Yes, but what is the point?

The point is making things easier in the long run:

It is easier to keep saturated non-muddy colors in a linear space.

The high bit depth makes it easier to get smoother color mixes.

Filters are more powerful and give nicer results in this space. It is far more easy to get nice blurring and bokeh results.

Simple Blending Modes like Multiply or Addition are suddenly black magic. This is because Scene-Linear is the closest you can get to the physical (as in, physics, not material) model of color where multiplying colors with one another is one of the main ways to calculate the effect of light.

Combining painting with other image results such as photography and physically based rendering is much easier as they too work in such a type of colorspace. So you could use such images as a reference with little qualms, or make textures that play nice with such a renderer.

So the advantages are prettier colors, cooler filter results, more control and easier interchange with other methods.

Okay, but why isn’t this all the rage then?

Simply put, because while it’s easier in the long run, you will also have to drop tools and change habits...

In particular, there are many tools in a digital painter’s toolbox that have hard-coded assumptions about black and white.

A very simple but massive problem is one with inversion. Inverting colors is done code-wise by taking the color for white and subtracting the color you want to invert from it. It’s used in many blending modes. But often the color white is hardcoded in these filters. There’s currently no application out there that allows you to define the value range that inversion is done with, so inverting is useless. And that also means the filters and blending modes that use it, such as (but not limited to)...

Screen (invert+multiply+invert)

Overlay (screens values below midtone-value, in sRGB this would be middle gray)

Color-dodge (divides the lower color with an inversion of the top one)

Color-burn (inverts the lower color and then divides it by the top color)

Hardlight (A different way of doing overlay, including the inversion)

Softlight (Uses several inversions along the way)

Conversely Multiply, Linear Dodge/Addition (they’re the same thing), Subtract, Divide, Darker (only compares colors’ channel values), Lighter (ditto), and Difference are fine to use, as long as the program you use doesn’t do weird clipping there.

Another one is HSL, HSI and HSY algorithms. They too need to assume something about the top value to allow scaling to white. HSV doesn’t have this problem. So it’s best to use an HSV color selector.

For the blending modes that use HSY, there’s always the issue that they tend to be hardcoded to sRGB/Rec709 values, but are otherwise fine (and they give actually far more correct results in a linear space). So these are not a good idea to use with wide-gamut colorspaces, and due to the assumption about black and white, not with scene linear painting. The following blending modes use them:

Color

Luminosity

Saturation

Darker Color (uses luminosity to determine the color)

Lighter Color (Ditto)

So that is the blending modes. Many filters suffer from similar issues, and in many applications, filters aren’t adjusted to work with arbitrary whites.

Speaking of filters, when using the transform tool, you should also avoid using lanczos3, it’ll give a weird black halo to sharp contrasts in scene-linear. The bilinear interpolation filter will work just fine in this case.

The second big problem is that black doesn’t work quite the same.

If you have mixed pigments before, you will know that black can quite easily overpower the other colors, so you should only add the tiniest amount of it to a mixture. White in contrast gets dirtied quite easily.

In a Scene Linear Color space, this is flipped. White is now more overpowering and black gets washed out super quickly. This relates to the additive nature of digital color theory, that becomes more obvious when working in linear.

This makes sketching a bit different, after all, it’s really difficult to make marks now. To get around this, you can do the following:

Sketch on a mid-gray background. This is recommended anyway, as it serves as a neutral backdrop. For a linear space, 18% or 22% gray would be a good neutral.

Make a special brush that is more opaque than the regular sketching brushes you use.

Or conversely, sketch with white instead.

For painting, block out the shapes with a big opaque brush before you start doing your mixing.

Overall, this is something that will take a little while getting used to, but you will get used to it soon enough.

Finally, there’s the issue of size.

16 bit float per channel images are big. 32 bit float per channel images are bigger. This means that they will eat RAM and that painting and filtering will be slower. This is something that will fix itself over the years, but not many people have such a high-end PC yet, so it can be a blocker.

So the issues are tools, expectations and size.

In Summary

Scene Linear Painting is painting an image in a color space that is linear and has a floating point bit depth. This does not assume anything about the values of black and white, so you can only use tools that don’t assume anything about the values of black and white. It has the advantage of having nicer filter results and better color mixtures as well as better interoperability with other scene-linear output.

To be able to view such an image you use a view transform, also called a display conversion. Which means that if you wish to finalize your image for the web, you make a copy of the image that goes through a display conversion or view transform that then gets saved to png or jpeg or tiff.

Getting to actual painting

Now we’ve covered the theory, let us look at a workflow for painting scene linear.

Setting up the Canvas

Select either a 16bit or 32bit image. By default Krita will select a linear sRGB profile. This is fine.

Then, download an OCIO config. I will use Filmic Blender [https://sobotka.github.io/filmic-blender/] here because it is quite simple to set up. Extract the downloaded zip somewhere you can find it back. Open the LUT docker, turn on OCIO, select ‘OCIO’ and set the path to the downloaded OCIO config.

Set the view to ‘Filmic log encoding’ and the look to ‘Base Contrast’. And now you can start painting!

Keep in mind everything mentioned above. Not all filters and not all blending modes work. This will improve in the future. Other than that, everything else is the same.

Picking really bright colors

Picking regular colors is easy, but how do we pick the really bright colors? There are three ways of getting access to the really bright colors in Krita:

By lowering the exposure in the LUT docker. This will increase the visible range of colors in the color selectors. You can even hotkey the exposure in the canvas input settings.

Or simply by opening the internal color selector by double clicking the dual color button and typing in values higher than 1 into the field.

And finally by picking a really bright color from an image that has such values.

Then paint. It’s recommended to make a bunch of swatches in the corner, at the least, until Krita’s new palette docker allows you to save the values properly.

Lighting based workflow

So, we have our typical value based workflow, where we only paint the grays of the image so that we can focus on the values of the image. We can do something similar with Scene Linear Painting.

Where with the value based workflow you paint the image as if it were a grayscale of what you intended to paint, with a lighting based workflow you paint as if all the objects are white. The effect of the color of an object can be determined by multiplying its base color with the color of the light. So you could paint objects as if they were white, paint the colors on a separate layer and just use the multiply blending mode to get the right colors.

The leftmost image is both the lighting based one and the color layer separate, the middle with the two layers multiplied and the right a luminosity based view. This cat is a nice example as it demonstrates why having textures and lighting separate could be interesting.

You can even combine this with a value based workflow by opening a new view and setting the component to luminosity. That way you can see both the grayscale as well as the lighting based version of the image next to one another.

The keen minded will notice that a lighting based workflow kind of resembles the idea of a light pass and a color pass in 3d rendering. And indeed, it is basically the same, so you can use lighting passes from 3d renders here, just save them as EXR and import them as a layer. One of the examples where scene linear painting simplifies combining methods.

Finishing up

When you are done, you will want to apply the view transform you have been using to the image (at the least, if you want to post the end result on the internet)... This is called LUT baking and not possible yet in Krita. Therefore you will have to save out your image in EXR and open it in either Blender or Natron. Then, in Blender it is enough to just use the same OCIO config, select the right values and save the result as a png.

You can even use some of Blender’s or Natron’s filters at this stage, and when working with others, you would save out in EXR so that others can use those.

Viewing Conditions

We mentioned viewing conditions before, but what does this have to do with 'white points'?

A lot actually, rather, white points describe a type of viewing condition.

So, usually what we mean by viewing conditions is the lighting and decoration of the room that you are viewing the image in. Our eyes try to make sense of both the colors that you are looking at actively (the colors of the image) and the colors you aren't looking at actively (the colors of the room), which means that both sets of colors affect how the image looks.

Left: Let's ruin Vermeer by putting a bright purple background that asks for more attention than the famous painting itself. Center: a much more neutral backdrop that an interior decorator would hate but brings out the colors. Right: The approximate color that this painting is displayed against in real life in the Maurits House, at the least, last time I was there. Original image from wikipedia commons.

This is for example, the reason why museum exhibitioners can get really angry at the interior decorators when the walls of the museum are painted bright red or blue, because this will drastically change the way how the painting's colors look. (Which, if we are talking about a painter known for their colors like Vermeer, could result in a really bad experience).

Lighting is the other component of the viewing condition which can have dramatic effects. Lighting in particular affects the way how all colors look. For example, if you were to paint an image of sunflowers and poppies, print that out, and shine a bright yellow light on it, the sunflowers would become indistinguishable from the white background, and the poppies would look orange. This is called metamerism [https://en.wikipedia.org/wiki/Metamerism_%28color%29], and it's generally something you want to avoid in your color management pipeline.

An example where metamerism could become a problem is when you start matching colors from different sources together.

For example, if you are designing a print for a red t-shirt that's not bright red, but not super grayish red either. And you want to make sure the colors of the print match the color of the t-shirt, so you make a dummy background layer that is approximately that red, as correctly as you can observe it, and paint on layers above that dummy layer. When you are done, you hide this dummy layer and sent the image with a transparent background to the press.

But when you get the t-shirt from the printer, you notice that all your colors look off, mismatched, and maybe too yellowish (and when did that T-Shirt become purple?).

This is where white points come in.

You probably observed the t-shirt in a white room where there were incandescent lamps shining, because as a true artist, you started your work in the middle of the night, as that is when the best art is made. However, incandescent lamps have a black body temperature of roughly 2300-2800K, which makes them give a yellowish light, officially called White Point A.

Your computer screen on the other hand, has a black body temperature of 6500K, also known as D65. Which is a far more blueish color of light than the lamps you are hanging.

What's worse, Printers print on the basis of using a white point of D50, the color of white paper under direct sunlight.

So, by eye-balling your t-shirt's color during the evening, you took its red color as transformed by the yellowish light. Had you made your observation in diffuse sunlight of an overcast (which is also roughly D65), or made it in direct sunlight light and painted your picture with a profile set to D50, the color would have been much closer, and thus your design would not be as yellowish.

Applying a white balance filter will sort of match the colors to the tone as in the middle, but you would have had a much better design had you designed against the actual color to begin with.

Now, you could technically quickly fix this by using a white balancing filter, like the ones in G'MIC, but because this error is caught at the end of the production process, you basically limited your use of possible colors when you were designing, which is a pity.

Another example where metamerism messes things up is with screen projections.

We have a presentation where we mark one type of item with red, another with yellow and yet another with purple. On a computer the differences between the colors are very obvious.

However, when we start projecting, the lights of the room aren't dimmed, which means that the tone scale of the colors becomes crunched, and yellow becomes near indistinguishable from white. Furthermore, because the light in the room is slightly yellowish, the purple is transformed into red, making it indistinguishable from the red. Meaning that the graphic is difficult to read.

In both cases, you can use Krita's color management a little to help you, but mostly, you just need to be ''aware'' of it, as Krita can hardly fix that you are looking at colors at night, or the fact that the presentation hall owner refuses to turn off the lights.

That said, unless you have a display profile that uses LUTs, such as an OCIO LUT or a cLUT icc profile, white point won't matter much when choosing a working space, due to weirdness in the icc v4 workflow which always converts matrix profiles with relative colorimetric, meaning the white points are matched up.

File Formats

This category is for graphics file-formats. While most file-formats can be looked up on wikipedia, this doesn't always explain what the format can be used for and what its strengths and weaknesses are.

In this category we try to describe these in a manner that can be read by beginners.

Generally, there are the following features that people pay attention to in regards to file formats:

Compression

Compression is how the file-format tries to describe the image with as little data as possible, so that the resulting file is as small as it can get without losing quality.

What we generally see is that formats that are small on disk either lose image quality, or require the computer to spend a lot of time thinking about how the image should look.

Vector file-formats like svg are a typical example of the latter. They are really small because the technology used to create them is based on mathematics, so it only stores maths-variables and can achieve very high quality. The downside is that the computer needs to spend a lot of time thinking about how it should look, and sometimes different programs have different ways of interpreting the values. Furthermore, vector file-formats imply vector graphics, which is a very different way of working than Krita is specialized in.

Lossy file formats, like jpg or webp are an example of small on disk, but lowering the quality, and are best used for very particular types of images. Lossy thus means that the file format plays fast and loose with describing your image to reduce filesize.

Non-lossy or lossless formats, like png, gif or bmp are in contrast, much heavier on disk, but much more likely to retain quality.

Then, there's proper working file formats like Krita's .kra, Gimp's xcf, Photoshop's psd, but also interchange formats like ora and exr. These are the heaviest on the hard-drive and often require special programs to open them up, but on the other hand these are meant to keep your working environment intact, and keep all the layers and guides in them.

Metadata

Metadata is the ability of a file format to contain information outside of the actual image contents. This can be human readable data, like the date of creation, the name of the author, a description of the image, but also computer readable data, like an icc-profile which tells the computer about the qualities of how the colors inside the file should be read.

Openness

This is a bit of an odd quality, but it's about how easy it to open or recover the file, and how widely it's supported.

Most internal file formats, like PSD are completely closed, and it's really difficult for human outsiders to recover the data inside without opening photoshop. Other examples are camera raw files which have different properties per camera manufacturer.

SVG, as a vector file format, is on the other end of the spectrum, and can be opened with any text-editor and edited.

Most formats are in-between, and thus there's also a matter of how widely supported the format is. jpg and png cannot be read or edited by human eyes, but the vast majority of programs can open them, meaning the owner has easy access to them.

Contents:

*.bmp

*.csv

*.exr

*.gbr

*.gif

*.gih

*.jpg

*.kpl

*.kra

*.ora

*.pbm, *.pgm, *.ppm

*.pdf

*.png

*.psd

*.svg

*.tiff

Lossy and Lossless Image Compression

*.bmp

.bmp, or Bitmap, is the simplest raster file format out there, and, being patent-free, most programs can open and save bitmap files.

However, most programs don't compress bitmap files, leading to BMP having a reputation for being very heavy. If you need a lossless file format, we actually recommend *.png.

*.csv

.csv is the abbreviation for Comma Separated Values. It is an open, plain text spreadsheet format. Since the .csv format is a plain text itself, it is possible to use a spreadsheet program or even a text editor to edit the .csv file.

Krita supports the .csv version used by TVPaint, to transfer layered animation between these two softwares and probably with others, like Blender. This is not an image sequence format, so use the document loading and saving functions in Krita instead of the Import animation frames and Render Animation menu items.

The format consists of a text file with .csv extension, together with a folder under the same name and a .frames extension. The .csv file and the folder must be on the same path location. The text file contains the parameters for the scene, like the field resolution and frame rate, and also contains the exposure sheet for the layers. The folder contains *.png picture files. Unlike image sequences, a key frame instance is only a single file and the exposure sheet links it to one or more frames on the timeline.

A .csv file as a spreadsheet in LibreOffice Calc

Krita can both export and import this format. It is recommended to use 8bit sRGB color space because that's the only color space for TVPaint. Layer groups and layer masks are also not supported.

TVPaint can only export this format by itself. In TVPaint 11, use the Export to... option of the File menu, and on the upcoming Export footage window, use the Clip: Layers structure tab.

Exporting into .csv in TVPaint

To import this format back into TVPaint there is a George language script extension. See the "Packs, Plugins, Third party" section on the TVPaint community forum for more details and also if you need support for other softwares. Moho/Anime Studio and Blender also have plugins to import this format.

Vegeu també

.csv import script for TVPaint [http://forum.tvpaint.com/viewtopic.php?f=26&t=9759]

.csv import script for Moho/Anime Studio [http://forum.tvpaint.com/viewtopic.php?f=26&t=10050]

.csv import script for Blender [https://developer.blender.org/T47462]

*.exr

.exr is the prime file format for saving and loading floating point bit depths, and due to the library made to load and save these images being fully open source, the main interchange format as well.

Floating point bit-depths are used by the computer graphics industry to record scene referred values, which can be made via a camera or a computer renderer. Scene referred values means that the file can have values whiter than white, which in turn means that such a file can record lighting conditions, such as sunsets very accurately. These exr files can then be used inside a renderer to create realistic lighting.

Krita can load and save exr for the purpose of paint-over (yes, Krita can paint with scene referred values) and interchange with applications like Blender, Mari, Nuke and Natron.

*.gbr

The GIMP brush format. Krita can open, save and use these files as predefined brushes.

There's three things that you can decide upon when exporting a *.gbr:

Name

This name is different from the file name, and will be shown inside Krita as the name of the brush.

Spacing

This sets the default spacing.

Use color as mask

This'll turn the darkest values of the image as the ones that paint, and the whitest as transparent. Untick this if you are using colored images for the brush

.gbr brushes are otherwise unremarkable, and limited to 8bit color precision.

*.gif

.gif is a file format mostly known for the fact that it can save animations. It's a fairly old format, and it does its compression by indexing the colors to a maximum of 256 colors per frame. Because we can technically design an image for 256 colors and are always able save over an edited gif without any kind of extra degradation, this is a lossless compression technique.

This means that it can handle most grayscale images just fine and without losing any visible quality. But for color images that don't animate it might be better to use *.jpg or *.png.

*.gih

The GIMP image hose format. Krita can open and save these, as well as import via the predefined brush tab.

Image Hose means that this file format allows you to store multiple images and then set some options to make it specify how to output the multiple images.

From top to bottom: Incremental, Pressure and Random

Gimp image hose format options:

Constant

This'll use the first image, no matter what.

Incremental

This'll paint the image layers in sequence. This is good for images that can be strung together to create a pattern.

Pressure

This'll paint the images depending on pressure. This is good for brushes imitating the hairs of a natural brush.

Random

This'll draw the images randomly. This is good for image-collections used in speedpainting as well as images that generate texture. Or perhaps more graphical symbols.

Angle

This'll use the dragging angle to determine with image to draw.

When exporting a krita file as a .gih, you will also get the option to set the default spacing, the option to set the name (very important for looking it up in the UI) and the ability to choose whether or not to generate the mask from the colors.

Use Color as Mask

This'll turn the darkest values of the image as the ones that paint, and the whitest as transparent. Untick this if you are using colored images for the brush.

We have a Krita Brush tip page on how to create your own gih brush.

*.jpg

.jpg, .jpeg or .jpeg2000 are a family of file-formats designed to encode photographs.

Photographs have the problem that they have a lot of little gradients, which means that you cannot index the file like you can with *.gif and expect the result to look good. What jpeg instead does is that it converts the file to a perceptual color space (YCrCb), and then compresses the channels that encode the colors, while keeping the channel that holds information about the relative lightness uncompressed. This works really well because human eye-sight is not as sensitive to colorfulness as it is to relative lightness. Jpeg also uses other lossy compression techniques, like using cosine waves to describe image contrasts.

However, it does mean that jpeg should be used in certain cases. For images with a lot of gradients, like full scale paintings, jpeg performs better than *.png and *.gif.

But for images with a lot of sharp contrasts, like text and comic book styles, png is a much better choice despite a larger file size. For grayscale images, png and gif will definitely be more efficient.

Because jpeg uses lossy compression, it is not advised to save over the same jpeg multiple times. The lossy compression will cause the file to reduce in quality each time you save it. This is a fundamental problem with lossy compression methods. Instead use a lossless file format, or a working file format while you are working on the image.

*.kpl

Since 4.0, Krita has a new palette file-format that can handle colors that are wide gamut, RGB, CMYK, XYZ, GRAY, or LAB, and can be of any of the available bitdepths, as well as groups. These are Krita Palettes, or *.kpl.

*.kpl files are zip files, with two XMLs and ICC profiles inside. The colorset XML contains the swatches as ColorSetEntry and Groups as Group. The profiles.XML contains a list of profiles, and the ICC profiles themselves are embedded to ensure compatibility over different computers.

*.kra

.kra is Krita's internal file-format, which means that it is the file format that saves all of the features Krita can handle. It's construction is vaguely based on the open document standard, which means that you can rename your .kra file to a .zip file and open it up to look at the insides.

It is a format that you can expect to get very heavy, and isn't meant for sharing on the internet.

*.ora

.ora, or the Open Raster format, is an interchange format. It was designed to replace *.psd as an interchange format, as the latter isn't meant for that. Like *.kra it is loosely based on the Open Document structure, thus a zip file with a bunch of xmls and pngs, but where Krita's internal file format can sometimes have fully binary chunks, .ora saves its layers as *.png making it fully open and easy to support.

As an interchange format, it can be expected to be heavy and isn't meant for uploading to the internet.

Vegeu també

Open Raster Specification [https://www.openraster.org/]

*.pbm, *.pgm, *.ppm

.pbm, .pgm, .ppm are a series of file-formats with a similar logic to them. They are designed to save images in a way that the result can be read as an ascii file, from back when email clients couldn't read images reliably.

They are very old file formats, and not used outside of very specialized usecases, such as embedding images inside code.

.pbm

one-bit and can only show strict black and white.

.pgm

can show 255 values of gray (8bit).

.ppm

can show 8bit rgb values.

*.pdf

.pdf is a format intended for making sure a document looks the same on all computers. It became popular because it allows the creator to make sure that the document looks the same and cannot be changed by viewers. These days it is an open standard and there is quite a variety of programs that can read and save pdfs.

Krita can open pdfs with multiple layers. There is currently no PDF export, nor is that planned. If you want to create a PDF with images from Krita, use Scribus [http://scribus.net/].

While pdfs can be viewed via most browsers, they can also become very heavy and are thus not recommended outside of official documents. Printhouses will often accept pdf.

*.png

.png, or Portable Network Graphics, is a modern alternative to *.gif and with that and *.jpg it makes up the three main formats that are widely supported on the internet.

png is a lossless file format, which means that it is able to maintain all the colors of your image perfectly. It does so at the cost of the file size being big, and therefore it is recommended to try *.jpg for images with a lot of gradients and different colors. Grayscale images will do better in png as well as images with a lot of text and sharp contrasts, like comics.

Like *.gif, png can support indexed color. Unlike *.gif, png doesn't support animation. There have been two attempts at giving animation support to png, apng and mng, the former is unofficial and the latter too complicated, so neither have really taken off yet.

*.psd

.psd is Photoshop's internal file format. For some reason, people like to use it as an interchange format, even though it is not designed for this.

.psd, unlike actual interchange formats like *.pdf, *.tiff, *.exr, *.ora and *.svg doesn't have an official spec online. Which means that it needs to be reverse engineered. Furthermore, as an internal file format, it doesn't have much of a philosophy to its structure, as it's only purpose is to save what photoshop is busy with, or rather, what all the past versions of photoshop have been busy with. This means that the inside of a psd looks somewhat like photoshop's virtual brains, and psd is in general a very disliked file-format.

Due to .psd being used as an interchange format, this leads to confusion amongst people using these programs, as to why not all programs support opening these. Sometimes, you might even see users saying that a certain program is terrible because it doesn't support opening psds properly. But as psd is an internal file-format without online specs, it is impossible to have any program outside it support it 100%.

Krita supports loading and saving raster layers, blending modes, layerstyles, layer groups, and transparency masks from psd. It will likely never support vector and text layers, as these are just too difficult to program properly.

We recommend using any other file format instead of psd if possible, with a strong preference towards *.ora or *.tiff.

As a working file format, psds can be expected to become very heavy and most websites won't accept them.

*.svg

.svg, or Scalable Vector Graphics, is the most modern vector graphics interchange file format out there.

Being vector graphics, svg is very light weight. This is because it usually only stores coordinates and parameters for the maths involved with vector graphics.

It is maintained by the w3c svg working group, who also maintain other open standards that make up our modern internet.

While you can open up svg files with any text-editor to edit them, it is best to use a vector program like Inkscape. Krita 2.9 to 3.3 supports importing svg via the add shape docker. Since Krita 4.0, SVGs can be properly imported, and you can export singlevector layers via Layer ‣ Import/Export ‣ Save Vector Layer as SVG.... For 4.0, Krita will also use SVG to save vector data into its internal format.

svg is designed for the internet, though sadly, because vector graphics are considered a bit obscure compared to raster graphics, not a lot of websites accept them yet. Hosting them on your own webhost works just fine though.

*.tiff

.tiff, or Tagged Image File Format, is a raster interchange format that was originally designed to be a common format generated by scanners and used by printers.

It can support multiple color spaces, and even layers. However, the latter is a bit odd, as the official specs, owned by Adobe, have a different way of saving layers to tiff than Photoshop, also owned by Adobe.

As an interchange format, .tiff is not meant for sharing on the internet, and you will not find many websites that do accept it. However, printhouses know the file format, and will likely accept it.

Lossy and Lossless Image Compression

When we compress a file, we do this because we want to temporarily make it smaller (like for sending over email), or we want to permanently make it smaller (like for showing images on the internet).

Lossless compression techniques are for when we want to temporarily reduce information. As the name implies, they compress without losing information. In text, the use of abbreviations is a good example of a lossless compression technique. Everyone knows 'etc.' expands to 'etcetera', meaning that you can half the 8 character long 'etcetera' to the four character long 'etc.'.

Within image formats, examples of such compression is by for example 'indexed' color, where we make a list of available colors in an image, and then assign a single number to them. Then, when describing the pixels, we only write down said number, so that we don't need to write the color definition over and over.

Lossy compression techniques are for when we want to permanently reduce the file size of an image. This is necessary for final products where having a small filesize is preferable such as a website. That the image will not be edited anymore after this allows for the use of the context of a pixel to be taken into account when compressing, meaning that we can rely on psychological and statistical tricks.

One of the primary things JPEG for example does is chroma sub-sampling, that is, to split up the image into a grayscale and two color versions (one containing all red-green contrast and the other containing all blue-yellow contrast), and then it makes the latter two versions smaller. This works because humans are much more sensitive to differences in lightness than we are to differences in hue and saturation.

Another thing it does is to use cosine waves to describe contrasts in an image. What this means is that JPEG and other lossy formats using this are very good at describing gradients, but not very good at describing sharp contrasts.

Conversely, lossless image compression techniques are really good at describing images with few colors thus sharp contrasts, but are not good to compress images with a lot of gradients.

Another big difference between lossy and lossless images is that lossy file formats will degrade if you re-encode them, that is, if you load a jpeg into Krita edit a little, resave, edit a little, resave, each subsequent save will lose some data. This is a fundamental part of lossy image compression, and the primary reason we use working files.

Vegeu també

If you're interested in different compression techniques, Wikipedia's page(s) on image compression [https://en.wikipedia.org/wiki/Image_compression] are very good, if not a little technical.

Perspective Projection

The Perspective Projection tutorial is one of the Kickstarter 2015 tutorial rewards. It's about something that humanity has known scientifically for a very long time, and decent formal training will teach you about this. But I think there are very very few tutorials about it in regard to how to achieve it in digital painting programs, let alone open source.

The tutorial is a bit image heavy, and technical, but I hope the skill it teaches will be really useful to anyone trying to get a grasp on a complicated pose. Enjoy, and don't forget to thank Raghukamath [http://www.raghukamath.com/] for choosing this topic!

Parts:

Orthographic

Oblique

Axonometric

Perspective Projection

Practical

Conclusion and afterthoughts

So let's start with the basics...

Orthographic

Despite the fancy name, you probably know what orthographic is. It is a schematic representation of an object, draw undeformed. Like the following example:

This is a rectangle. We have a front, top and side view. Put into perspective it should look somewhat like this:

While orthographic representations are kinda boring, they're also a good basis to start with when you find yourself in trouble with a pose. But we'll get to that in a bit.

Oblique

So, if we can say that the front view is the viewer looking at the front, and the side view is the viewer directly looking at the side. (The perpendicular line being the view plane it is projected on)

Then we can get a half-way view from looking from an angle, no?

If we do that for a lot of different sides…

And we line up the sides we get a…

But cubes are boring. I am suspecting that projection is so ignored because no tutorial applies it to an object where you actually might NEED projection. Like a face.

First, let's prepare our front and side views:

I always start with the side, and then extrapolate the front view from it. Because you are using Krita, set up two parallel rulers, one vertical and the other horizontal. To snap them perfectly, drag one of the nodes after you have made the ruler, and press Shift to snap it horizontal or vertical. In 3.0, you can also snap them to the image borders if you have Snap Image Bounds active via Shift + S

Then, by moving the mirror to the left, you can design a front view from the side view, while the parallel preview line helps you with aligning the eyes (which in the above screenshot are too low).

Eventually, you should have something like this:

And of course, let us not forget the top, it's pretty important:

Truc

When you are using Krita, you can just use transform masks to rotate the side view for drawing the top view.

The top view works as a method for debugging your orthos as well. If we take the red line to figure out the orthographics from, we see that our eyes are obviously too inset. Let's move them a bit more forward, to around the nose.

If you want to do precision position moving in the tool options docker, just select 'position' and the input box for the X. Pressing down then moves the transformed selection left. With Krita 3.0 you can just use the move tool for this and the arrow keys. Using transform here can be more convenient if you also have to squash and stretch an eye.

We fix the top view now. Much better.

For faces, the multiple slices are actually pretty important. So important even, that I have decided we should have these slices on separate layers. Thankfully, I chose to color them, so all we need to do is go to Layer ‣ Split Layer .

This'll give you a few awkwardly named layers… rename them by selecting all and mass changing the name in the properties editor:

So, after some cleanup, we should have the following:

Okay, now we're gonna use animation for the next bit.

Set it up as follows:

Both front view and side view are set up as 'visible in timeline' so we can always see them.

Front view has its visible frame on frame 0 and an empty frame on frame 23.

Side view has its visible frame on frame 23 and an empty view on frame 0.

The end of the animation is set to 23.

Krita can't animate a transformation on multiple layers on multiple frames yet, so let's just only transform the top layer. Add a semi-transparent layer where we draw the guidelines.

Now, select frame 11 (halfway), add new frames from front view, side view and the guidelines. And turn on the onion skin by toggling the lamp symbols. We copy the frame for the top view and use the transform tool to rotate it 45°.

So, we draw our vertical guides again and determine a in-between...

This is about how far you can get with only the main slice, so rotate the rest as well.

And just like with the cube, we do this for all slices…

Eventually, if you have the top slices rotate every frame with 15°, you should be able to make a turn table, like this:

Because our boy here is fully symmetrical, you can just animate one side and flip the frames for the other half.

While it is not necessary to follow all the steps in the theory section to understand the tutorial, I do recommend making a turn table sometime. It teaches you a lot about drawing 3/4th faces.

How about… we introduce the top view into the drawing itself?

This is a continuation of the orthographic and oblique tutorial, be sure to check it out if you get confused!

Axonometric

So, the logic of adding the top is still similar to that of the side.

Not very interesting. But it gets much more interesting when we use a side projection:

Because our cube is red on both front-sides, and blue on both left and right side, we can just use copies, this simplifies the method for cubes a lot. We call this form of axonometric projection 'dimetric' as it deforms two parallel lines equally.

Isometric is sorta like dimetric where we have the same angle between all main lines:

True isometric is done with a 90-54.736=35.264° angle from ground plane:

(as you can see, it doesn't line up perfectly, because Inkscape, while more designed for making these kinds of diagrams than Krita, doesn't have tools to manipulate the line's angle in degrees)

This is a bit of an awkward angle, and on top of that, it doesn't line up with pixels sensibly, so for videogames an angle of 30° from the ground plane is used.

Alright, so, let's make an isometric out of our boy then.

We make a new document, and add a vector layer.

On the vector layer, we select the straight line tool, start a line and then hold Shift to make it snap to angles. This'll allow us to make a 30° setup like above:

We then import some of the frames from the animation via Layers ‣ Import/Export ‣ Import layer.

Then crop it by setting the crop tool to Layer, and use Filters ‣ Colors ‣ Color to alpha to remove any background. I also set the layers to 50% opacity. We then align the vectors to them:

Truc

To resize a vector but keep its angle, you just select it with the shape handling tool (the white arrow) drag on the corners of the bounding box to start moving them, and then press Shift to constrain the ratio. This'll allow you to keep the angle.

The lower image is 'the back seen from the front', we'll be using this to determine where the ear should go.

Now, we obviously have too little space, so select the crop tool, select Image and tick Grow and do the following:

Grow is a more practical way of resizing the canvas in width and height immediately.

Then we align the other heads and transform them by using the transform tool options:

(330° here is 360°-30°)

Our rectangle we'll be working in slowly becomes visible. Now, this is a bit of a difficult angle to work at, so we go to Image ‣ Rotate ‣ Rotate Image and fill in 30° clockwise:

(of course, we could've just rotated the left two images 30°, this is mostly to be less confusing compared to the cube)

So, we do some cropping, some cleanup and add two parallel assistants like we did with the orthographic:

So the idea here is that you draw parallel lines from both sides to find points in the drawing area. You can use the previews of the assistants for this to keep things clean, but I drew the lines anyway for your convenience.

The best is to make a few sampling points, like with the eyebrows here, and then draw the eyebrow over it.

Alternative axonometric with the transform tool

Now, there's an alternative way of getting there that doesn't require as much space.

We open our orthographic with Open existing Document as Untitled Document so that we don't save over it.

Our game-safe isometric has its angle at two pixels horizontal is one pixel vertical. So, we shear the ortho graphics with transform masks to -.5/+.5 pixels (this is proportional)

Use the grid to setup two parallel rulers that represent both diagonals (you can snap them with the Shift + S):

Add the top view as well:

if you do this for all slices, you get something like this:

Using the parallel rulers, you can then figure out the position of a point in 3d-ish space:

As you can see, this version both looks more 3d as well as more creepy.

That's because there are less steps involved as the previous version -- We're deriving our image directly from the orthographic view -- so there are less errors involved.

The creepiness is because we've had the tiniest bit of stylisation in our side view, so the eyes come out HUGE. This is because when we stylize the side view of an eye, we tend to draw it not perfectly from the side, but rather slightly at an angle. If you look carefully at the turntable, the same problem crops up there as well.

Generally, stylized stuff tends to fall apart in 3d view, and you might need to make some choices on how to make it work.

For example, we can just easily fix the side view (because we used transform masks, this is easy.)

And then generate a new drawing from that…

Compare to the old one and you should be able to see that the new result’s eyes are much less creepy:

It still feels very squashed compared to the regular parallel projection above, and it might be an idea to not just skew but also stretch the orthos a bit.

Let's continue with perspective projection in the next one!

This is a continuation of the axonometric tutorial, be sure to check it out if you get confused!

Perspective Projection

So, up till now we’ve done only parallel projection. This is called like that because all the projection lines we drew were parallel ones.

However, in real life we don’t have parallel projection. This is due to the lens in our eyes.

Convex lenses, as this lovely image from wikipedia [https://en.wikipedia.org/wiki/Lens_%28optics%29] shows us, have the ability to turn parallel lightrays into converging ones.

The point where all the rays come together is called the focal point, and the vanishing point in a 2d drawing is related to it as it’s the expression of the maximum distortion that can be given to two parallel lines as they’re skewed toward the focal point.

As you can see from the image, the focal point is not an end-point of the rays. Rather, it is where the rays cross before diverging again… The only difference is that the resulting image will be inverted. Even in our eyes this inversion happens, but our brains are used to this awkwardness since childhood and turn it around automatically.

Let’s see if we can perspectively project our box now.

That went pretty well. As you can see we sorta ‘merged’ the two sides into one (resulting into the purple side square) so we had an easier time projecting. The projection is limited to one or two vanishing point type projection, so only the horizontal lines get distorted. We can also distort the vertical lines

… to get three-point projection, but this is a bit much. (And I totally made a mistake in there…)

Let’s setup our perspective projection again…

We’ll be using a single vanishing point for our focal point. A guide line will be there for the projection plane, and we’re setting up horizontal and vertical parallel rules to easily draw the straight lines from the view plane to where they intersect.

And now the workflow in gif-format… (don’t forget you can rotate the canvas with 4 and 6)

Result:

Looks pretty haughty, doesn’t he?

And again, there’s technically a simpler setup here…

Did you know you can use Krita to rotate in 3d? No?

Well, now you do.

The ortho graphics are being set to 45 and 135 degrees respectively.

We draw horizontal lines on the originals, so that we can align vanishing point rulers to them.

And from this, like with the shearing method, we start drawing. (Don’t forget the top-views!)

Which should get you something like this:

But again, the regular method is actually a bit easier...

But now you might be thinking: gee, this is a lot of work… Can’t we make it easier with the computer somehow?

Uhm, yes, that’s more or less why people spent time on developing 3d graphics technology:

(The image above is sculpted in blender using our orthographic reference)

So let us look at what this technique can be practically used for in the next part...

This is a continuation of the perspective projection tutorial, be sure to check it out if you get confused!

Practical

So, if computers can already automate a ton, and it is fairly complicated, is there still a use for a traditional 2d artist to learn this?

Yes, actually. The benefit that 2d art still has over 3d is that it's plain faster for single images, especially with complicated subjects like faces and bodies.

Perspective projection can help a lot getting down those annoying poses, like people lying down. It also helps when combining 2d and 3d, as when you know where the camera is in the 3d render, you can use that in a projection to get the character projected.

The side view of a person lying down is often easy to draw, but the top view or the view from the feet isn’t. Hence why we use the side view to do perspective projection on.

Another example with an equally epic task: sitting.

Now, with this one we have a second vanishing point above the front-view. It should be about the same distance above the front-view as it is above the head of the rotated side-view. The projection plane should also be the same distance from the vanishing point, but that doesn’t mean it has to be behind. This is something I avoided in the earlier examples, because it makes the working field really messy, but if you look up perspective projection you’ll see multiple examples of this method.

Also of note is that you actually should be having the view plane/projection plane perfectly perpendicular to the angle of the focal point, otherwise you get odd distortion, this doesn’t happen here, which means this sitting person is a bit more stretched vertically than necessary.

One more, for the road…

Here you can see that the misalignment of the vanishing point to the projection plane causes skewing which was then fixed by Krita’s transform tools, technically it’s of course correct, but what is correct doesn’t always look good. (I also mess up the position of the shoulder for a good while if you look closely.)

Conclusion and afterthoughts

I probably didn’t make as nice result images as I could have, especially if you compare it to the 3d images. However, you can still see that the main landmarks are there. The real use of this technique lies in poses though, and it allows you to iterate on a pose quite quickly once you get the hang of it.

Generally, it’s worth exploring, if only because it improves your spatial sense.

Vegeu també

https://en.wikipedia.org/wiki/Axonometric_projection

http://blenderartists.org/forum/showthread.php?148878-Creating-an-Isometric-Camera

http://flarerpg.org/tutorials/isometric_tiles/

https://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

https://en.wikipedia.org/wiki/Lens_%28optics%29

Manual de referència

Un ràpid recorregut per totes les eines disponibles.

Contingut:

Àudio per a l'animació

Modes de barreja

Pinzells

Dockers

Dr. MinW Debugger

Filters

Instant Preview

Krita 4 Preset Bundle Overview

Layers and Masks

Linux Command Line

La llista de tauletes acceptades

Main Menu

Maths Input

Preferences

Render Animation

Resource Management

Stroke Selection

Tools

Àudio per a l'animació

Compte

L'àudio per a l'animació és una característica sense acabar. Té múltiples errors i és possible que no funcioni en el vostre sistema.

Podeu afegir fitxers d'àudio a la vostra animació per ajudar a sincronitzar els llavis o la música. Aquesta funcionalitat està disponible a l'acoblador Línia de temps.

Importar fitxers d'àudio

El Krita admet fitxers d'àudio MP3, OGM i WAV. Quan obriu l'acoblador Línia de temps, hi haurà un botó d'altaveu a la part superior esquerra.

Si el premeu, obtindreu les opcions d'àudio disponibles per a l'animació.

Obre

Silenci

Elimina l'àudio

Control lliscant del volum

El Krita desa la ubicació del vostre fitxer d'àudio. Si el moveu o li canvieu el nom, el Krita no el podrà trobar. La propera vegada que intenteu obrir el fitxer, el Krita us indicarà que s'ha mogut o suprimit.

Emprar l'àudio

Després d'importar l'àudio, podreu rastrejar la línia de temps i al mateix temps reproduir el fragment d'àudio. Quan premeu el botó Reprodueix, es reproduirà tot el fitxer d'àudio tal com es farà en la versió final. No hi ha cap mostra visual del fitxer d'àudio a la pantalla, de manera que haureu d'utilitzar les orelles i la funcionalitat de rastrejar per a posicionar els fotogrames.

Exportar amb àudio

Per aconseguir que el fitxer d'àudio sigui inclòs quan exporteu, l'haureu d'incloure a les opcions Renderitza l'animació. A les opcions de Fitxer ‣ Renderitza l'animació hi ha una casella de selecció Inclou l'àudio. Assegureu-vos que s'ha marcat abans d'exportar i hauria d'anar bé.

Paquets necessaris per a l'àudio a Linux

Els següents paquets són necessaris per tenir el suport d'àudio a Linux:

Per a les persones que construeixen el Krita a Linux:

libasound2-dev

libgstreamer1.0-dev gstreamer1.0-pulseaudio

libgstreamer-plugins-base1.0-dev

libgstreamer-plugins-good1.0-dev

libgstreamer-plugins-bad1.0-dev

Per a les persones que utilitzen el Krita a Linux:

libqt5multimedia5-plugins

libgstreamer-plugins-base1.0

libgstreamer-plugins-good1.0

libgstreamer-plugins-bad1.0

Modes de barreja

Els modes de barreja són una mica difícils d'explicar. Bàsicament, quan una capa està sobre l'altra, l'ordinador un xic de programació per a decidir com es veurà la combinació d'ambdues capes.

Els modes de barreja no només poden aplicar-se a les Capes, sinó també a traços individuals.

Preferits

Aquests són els modes de barreja que s'han marcat com a preferits; de manera predeterminada són:

Addició

Cremat

Color, HSV, HSI, HSL o HSY

Esvaïment del color

Fosca

Esborra

Aclarit

Lluminositat

Multiplica

Normal

Superposició

Saturació HSI, HSV, HSL o HSY

Tecles d'accés ràpid associades amb els modes de barreja

Defaultly the following hotkeys are associated with blending modes used for painting. Note: these shortcuts do not change the blending mode of the current layer.

You first need to use modifiers Alt + Shift, then use the following hotkey to have the associated blending mode:

A Cremat lineal

B Cremat

C Color, HSV, HSI, HSL o HSY

D Esvaïment del color

E Diferència

F Llum suau (Photoshop) i Llum suau SVG

I Dissol

J Llum lineal

K Fosca

L Barreja forta

M Multiplica

O Superposició

Q Darrere

R Normal

S Pantalla

T Saturació HSI, HSV, HSL o HSY

U To HSV, HSI, HSL o HSY

V Llum vívida

W Exclusió

X Esvaïment lineal

Y Lluminositat

Z Llum focal

Mode de barreja següent +

Mode de barreja anterior -

Modes de barreja disponibles

Aritmètic

Addició

Divideix

Resta inversa

Multiplica

Sostreu

Fosca

Cremat

Fosca

Color més fosc

Gamma fosca

Cremat lineal

HSX

HSI

HSL

HSV

HSY

Modes de barreja HSX

Aclarit

Esvaïment del color

Llum gamma

Llum forta

Aclarit

Color més clar

Esvaïment lineal

Llum lineal

Llum focal

Pantalla

Llum suau (Photoshop) i Llum suau SVG

Llum vívida

Miscel·lània

Mapa de relleu

Combina mapes normals

Copia

Copia el vermell, verd, blau

Dissol

Mescla

Allanon

Enfosquiment alfa

Darrere

Esborra

Mitjana geomètrica

Extracció de gra

Fusió de gra

Engrandeix

Barreja forta

Barreja forta (Photoshop)

Superposició forta

Normal

Superposició

Paral·lel

Negatiu

Additiu subtractiu

Arc tangent

Diferència

Equivalència

Exclusió

Vegeu també

Modes de barreja bàsics:

http://en.wikipedia.org/wiki/Blend_modes

Extracció de gra/Fusió de gra:

http://docs.gimp.org/en/gimp-concepts-layer-modes.html

Per a la majoria dels modes de barreja misterioses del Krita:

http://illusions.hu/effectwiki/doku.php?id=list_of_blendings

Aritmètic

Aquests modes de barreja es basen en matemàtiques senzilles.

Addició

Afegeix els valors numèrics de dos colors:

Groc (1, 1, 0) + Blau (0, 0, 1) = Blanc (1, 1, 1)

Gris fosc (0,4, 0,4, 0,4) + Gris clar (0,5, 0,5, 0,5) = Gris encara més clar (0,9, 0,9, 0,9)

Esquerra: Normal. Dreta: Addició.

Blau clar (0,1608, 0,6274, 0,8274) + Taronja (1, 0,5961, 0,0706) = (1,1608, 1,2235, 0,8980) &rarr; Groc molt clar (1, 1, 0,8980)

Esquerra: Normal. Dreta: Addició.

Vermell (1, 0, 0) + Gris (0,5, 0,5, 0,5) = Rosa (1, 0,5, 0,5)

Esquerra: Normal. Dreta: Addició.

Quan el resultat de l'addició sigui més que 1, es mostrarà el color blanc. Per tant, el blanc més qualsevol altre color, resultarà en blanc. D'altra banda, el negre més qualsevol altre color, resultarà en el color afegit.

Esquerra: Normal. Dreta: Addició.

Divideix

Divideix el valor numèric del color inferior pel del color superior.

Vermell (1, 0, 0) / Gris (0.5, 0.5, 0.5) = (2, 0, 0) &rarr; Vermell (1, 0, 0)

Gris fosc (0,4, 0,4, 0,4) / Gris clar (0,5, 0,5, 0,5) = Gris encara més clar (0,8, 0,8, 0,8)

Esquerra: Normal. Dreta: Divideix.

Blau clar (0,1608, 0,6274, 0,8274) / Taronja (1, 0,5961, 0,0706) = (0,1608, 1,0525, 11,7195) &rarr; Aigua (0,1608, 1, 1)

Esquerra: Normal. Dreta: Divideix.

Esquerra: Normal. Dreta: Divideix.

Resta inversa

Aquesta inverteix la capa inferior abans de restar-la de la capa superior.

Gris clar (0,5, 0,5, 0,5)_(1_Gris fosc (0,4, 0,4, 0,4)) = (-0,1, -0,1, -0,1) &rarr; Negre (0, 0, 0)

Esquerra: Normal. Dreta: Resta inversa.

Taronja (1, 0,5961, 0,0706)_(1_Blau clar (0,1608, 0,6274, 0,8274)) = (0,1608, 0,2235, -0,102) &rarr; Verd fosc (0,1608, 0,2235, 0)

Esquerra: Normal. Dreta: Resta inversa.

Esquerra: Normal. Dreta: Resta inversa.

Multiplica

Multiplica els dos colors entre si, però no va més enllà del límit superior.

S'utilitza sovint per aplicar colors en una línia artística en blanc i negre. Es col·loca la línia artística en blanc i negre a la part superior, i estableix la capa a «Multiplica», i després es dibuixa en color en una capa a sota. La multiplicació permetrà que tots els colors passin a través seu.

Blanc (1,1,1) x Blanc (1, 1, 1) = Blanc (1, 1, 1)

Blanc (1, 1, 1) x Gris (0,5, 0,5, 0,5) = Gris (0,5, 0,5, 0,5)

Gris fosc (0,4, 0,4, 0,4) x Gris clar (0,5, 0,5, 0,5) = Gris encara més clar (0,2, 0,2, 0,2)

Esquerra: Normal. Dreta: Multiplica.

Blau clar (0,1608, 0,6274, 0,8274) x Taronja (1, 0,5961, 0,0706) = Verd (0,1608, 0,3740, 0,0584)

Esquerra: Normal. Dreta: Multiplica.

Esquerra: Normal. Dreta: Multiplica.

Sostreu

Resta la capa superior de la capa inferior.

Blanc (1, 1, 1)_Blanc (1, 1, 1) = Negre (0, 0, 0)

Blanc (1, 1, 1)_Gris (0,5, 0,5, 0,5) = Gris (0,5, 0,5, 0,5)

Gris fosc (0,4, 0,4, 0,4)_Gris clar (0,5, 0,5, 0,5) = (-0,1, -0,1, -0,1) &rarr; Negre (0, 0, 0)

Esquerra: Normal. Dreta: Sostreu.

Blau clar (0,1608, 0,6274, 0,8274) - Taronja (1, 0,5961, 0,0706) = (-0,8392, 0,0313, 0,7568) &rarr; Blau (0, 0,0313, 0,7568)

Esquerra: Normal. Dreta: Sostreu.

Esquerra: Normal. Dreta: Sostreu.

Fosca

Cremat

Una variació de Divideix, de vegades anomenada «Cremat del color» en alguns programes.

Això inverteix la capa inferior, després la divideix per la capa superior i inverteix el resultat. Això dóna com a resultat un efecte fosc que té en compte els colors de la capa inferior, similar a la tècnica de cremat emprada en la cambra fosca de la fotografia tradicional.

1_{[1_Gris fosc (0,4, 0,4, 0,4)] / Gris clar (0,5, 0,5, 0,5)} = (-0,2, -0,2, -0,2) &rarr; Negre (0, 0, 0)

Esquerra: Normal. Dreta: Cremat.

1_{[1_Blau clar (0,1608, 0,6274, 0,8274)] / Taronja (1, 0,5961, 0,0706)} = (0,1608, 0.3749, -1,4448) &rarr; Verd (0,1608, 0,3749, 0)

Esquerra: Normal. Dreta: Cremat.

Esquerra: Normal. Dreta: Cremat.

Fosca

Amb l'enfosquiment, els colors de la capa superior es verifiquen per la seva claredat. Només seran visibles si són més foscos que el color subjacent a la capa inferior.

És el gris clar (0,5, 0,5, 0,5) més fosc que el gris fosc (0,4, 0,4, 0,4)? = (no, no, no) &rarr; Gris fosc (0,4, 0,4, 0,4)

Esquerra: Normal. Dreta: Fosca.

És el taronja (1, 0,5961, 0,0706) més fosc que el blau clar (0,1608, 0,6274, 0,8274)? = (no, sí, sí) &rarr; Verd (0,1608, 0,5961, 0,0706)

Esquerra: Normal. Dreta: Fosca.

Esquerra: Normal. Dreta: Fosca.

Color més fosc

Esquerra: Normal. Dreta: Color més fosc.

Gamma fosca

Divideix 1 per la capa superior i calcula el resultat final utilitzant-lo com la potència de la capa inferior.

Gris fosc (0,4, 0,4, 0,4)^[1 / Gris clar (0,5, 0,5, 0,5)] = Gris encara més fosc (0,1600, 0,1600, 0,1600)

Esquerra: Normal. Dreta: Gamma fosca.

Blau clar (0,1608, 0,6274, 0,8274)^[1 / Taronja (1, 0,5961, 0,0706)] = Verd (0,1608, 0,4575, 0,0683)

Esquerra: Normal. Dreta: Gamma fosca.

Esquerra: Normal. Dreta: Gamma fosca.

Cremat lineal

Afegeix els valors de les dues capes i després resta 1. Sembla que produeix el mateix resultat que Resta inversa.

[Gris fosc (0,4, 0,4, 0,4) + Gris clar (0,5, 0,5, 0,5)]_1 = (-0,1000, -0,1000, -0,1000) &rarr; Negre (0, 0, 0)

Esquerra: Normal. Dreta: Cremat lineal.

[Blau clar (0,1608, 0,6274, 0,8274) + Taronja (1, 0,5961, 0,0706)]_1 = (0,1608, 0,2235, -0,1020) &rarr; Verd fosc (0,1608, 0,2235, 0)

Esquerra: Normal. Dreta: Cremat lineal.

Esquerra: Normal. Dreta: Cremat lineal.

HSX

El Krita té quatre sistemes de coordenades HSX diferents. La diferència entre ells és com manegen el to.

HSI

El HSI és un sistema de coordenades del color, que utilitza el To, Saturació i Intensitat per a categoritzar un color. El to és aproximadament la longitud d'ona, si el color és vermell, groc, verd, cian, blau o porpra. Es mesura en 360°, amb 0 de color vermell. La saturació és la mesura de la proximitat del color gris. La intensitat, en aquest cas és el to del color. El que fa que la intensitat sigui especial és que reconeix el groc (rgb:1,1,0) que té un valor RGB combinat més gran que el blau (rgb:0,0,1). Aquesta és una dimensió no lineal del to, el qual vol dir que es corregeix la gamma.

HSL

El HSL també és un sistema de coordenades del color. Descriu els colors en el To, Saturació i Claredat. La claredat posa específicament tant el groc (rgb:1,1,0), el blau (rgb:0,0,1) i el gris mig (rgb:0,5,0,5,0,5) a la mateixa claredat (0,5).

HSV

El HSV, de vegades anomenat HSB, és un sistema de coordenades del color. Mesura els colors en el To, Saturació i Valor (també anomenat brillantor). El valor o la brillantor es refereix específicament a la força amb la qual hauran de brillar els llums dels píxels en el vostre monitor. Estableix el groc (rgb:1,1,0), blau (rgb:0,0,1) i blanc (rgb:1,1,0) al mateix valor (100%).

HSY

El HSY és un sistema de coordenades del color. Categoritza els colors en el To, Saturació i Lluminositat. Bé, no realment, fa servir la Luma (luminància) en lloc d'una lluminositat veritable, la diferència és que la lluminositat és lineal, mentre que la luma és corregida per la gamma i només pesa els components RGB. La luma es basa en estudis científics sobre quanta llum reflecteix un color a la vida real. Si bé té una intensitat similar, reconeix que el groc (rgb:1,1,0) és més clar que el blau (rgb:0,0,1), també reconeix que el groc (rgb:1,1,0) és més clar que el cian (rgb:0,1,1), a partir d'aquests estudis.

Modes de barreja HSX

Color, HSV, HSI, HSL o HSY

Això pren la Lluminositat/Valor/Intensitat/Claredat dels colors en la capa inferior i els combina amb la Saturació i el To dels píxels superiors. Ens referirem al Color HSY com a «Color» en la línia com ho fan altres aplicacions.

Esquerra: Normal. Dreta: Color HSI.

Esquerra: Normal. Dreta: Color HSI.

Esquerra: Normal. Dreta: Color HSI.

Esquerra: Normal. Dreta: Color HSL.

Esquerra: Normal. Dreta: Color HSV.

Esquerra: Normal. Dreta: Color.

To HSV, HSI, HSL o HSY

Pren la saturació i el to de la capa inferior i els combina amb el to de la capa superior. El to en aquest cas és Valor, Claredat, Intensitat o Lluminositat.

Esquerra: Normal. Dreta: To HSI.

Esquerra: Normal. Dreta: To HSL.

Esquerra: Normal. Dreta: To HSV.

Esquerra: Normal. Dreta: To.

Augmentar el valor, claredat, intensitat o lluminositat.

Similar a Aclarit, però específic al To. Comprova si el píxel de la capa superior té un to més alt que el píxel de la capa inferior. Si és així, el to augmentarà, de no ser així mantindrà el de la capa inferior.

Esquerra: Normal. Dreta: Augmenta la intensitat.

Esquerra: Normal. Dreta: Augmenta la claredat.

Esquerra: Normal. Dreta: Augmenta el valor.

Esquerra: Normal. Dreta: Augmenta la lluminositat.

Augmentar la saturació HSI, HSV, HSL o HSY

Similar a Aclarit, però específic a la Saturació. Comprova si el píxel de la capa superior té una saturació més alta que el píxel de la capa inferior. Si és així, la saturació augmentarà, de no ser així mantindrà la de la capa inferior.

Esquerra: Normal. Dreta: Augmenta la saturació HSI.

Esquerra: Normal. Dreta: Augmenta la saturació HSL.

Esquerra: Normal. Dreta: Augmenta la saturació HSV.

Esquerra: Normal. Dreta: Augmenta la saturació.

Intensitat

Pren el To i la Saturació de la capa inferior i els emet amb la Intensitat de la capa superior.

Esquerra: Normal. Dreta: Intensitat.

Valor

Pren el To i la Saturació de la capa inferior i els emet amb el Valor de la capa superior.

Esquerra: Normal. Dreta: Valor.

Claredat

Pren el To i la Saturació de la capa inferior i els emet amb la Claredat de la capa superior.

Esquerra: Normal. Dreta: Claredat.

Lluminositat

Com es va explicar anteriorment, en realitat la Luma, però anomenada així perquè s'alinea amb la terminologia en altres aplicacions. Pren el To i la Saturació de la capa inferior i els emet amb la Lluminositat de la capa superior. El més preferit dels quatre modes de barreja del to, ja que aquest proporciona resultats bastant intuïtius per al To d'un matís.

Esquerra: Normal. Dreta: Lluminositat.

Saturació HSI, HSV, HSL o HSY

Pren la Intensitat i el To de la capa inferior i els emet amb la Saturació HSI de la capa superior.

Esquerra: Normal. Dreta: Saturació HSI.

Esquerra: Normal. Dreta: Saturació HSL.

Esquerra: Normal. Dreta: Saturació HSV.

Esquerra: Normal. Dreta: Saturació.

Disminuir el valor, claredat, intensitat o lluminositat

Similar a Fosca, però específic al To. Comprova si el píxel de la capa superior té un to més baix que el píxel de la capa inferior. Si és així, el to disminuirà, de no ser així mantindrà el de la capa inferior.

Esquerra: Normal. Dreta: Disminueix la intensitat.

Esquerra: Normal. Dreta: Disminueix la intensitat.

Esquerra: Normal. Dreta: Disminueix la intensitat.

Esquerra: Normal. Dreta: Disminueix la claredat.

Esquerra: Normal. Dreta: Disminueix el valor.

Esquerra: Normal. Dreta: Disminueix la lluminositat.

Disminuir la saturació HSI, HSV, HSL o HSY

Similar a Fosca, però específic a la Saturació. Comprova si el píxel de la capa superior té una saturació més baixa que el píxel de la capa inferior. Si és així, la saturació disminuirà, de no ser així mantindrà la de la capa inferior.

Esquerra: Normal. Dreta: Disminueix la saturació HSI.

Esquerra: Normal. Dreta: Disminueix la saturació HSI.

Esquerra: Normal. Dreta: Disminueix la saturació HSI.

Esquerra: Normal. Dreta: Disminueix la saturació HSL.

Esquerra: Normal. Dreta: Disminueix la saturació HSV.

Esquerra: Normal. Dreta: Disminueix la saturació.

Aclarit

Modes de barreja que alleugen la imatge.

Esvaïment del color

Similar a Divideix. Inverteix la capa superior i divideix la capa inferior per la capa superior invertida. Això dóna com a resultat una imatge amb èmfasi en les llums intenses, com ho faria Esvaeix en la cambra fosca de la fotografia tradicional.

Esquerra: Normal. Dreta: Esvaïment del color.

Llum gamma

Mostra la capa superior com a potència de la capa inferior.

Esquerra: Normal. Dreta: Llum gamma.

Llum forta

Similar a la superposició. Una combinació dels modes de barreja Multiplica i Pantalla, canviant entre tots dos en una claredat mitjana.

La llum forta comprova si el color a la capa superior té una claredat superior al 0,5. A diferència de la superposició, si el píxel és més clar que 0,5, es barrejarà com en la mode Multiplica, de ser així es barrejarà com en el mode Pantalla.

Efectivament, això fa disminuir el contrast.

Esquerra: Normal. Dreta: Llum forta.

Aclarit

Amb l'enfosquiment, els colors de la capa superior es verifiquen per la seva claredat. Només seran visibles si són més clars que el color subjacent a la capa inferior.

Esquerra: Normal. Dreta: Aclarit.

Color més clar

Esquerra: Normal. Dreta: Color més clar.

Esvaïment lineal

Exactament el mateix que Addició.

Posat per propòsits de compatibilitat.

Esquerra: Normal. Dreta: Esvaïment lineal (exactament el mateix que l'addició).

Llum lineal

Similar al Superposició.

Combina Esvaïment lineal i Cremat lineal. Quan la claredat del píxel superior és superior que 0,5, s'utilitzarà l'Esvaïment lineal, de no ser així s'emprarà el cremat lineal per a barrejar els píxels.

Esquerra: Normal. Dreta: Llum lineal.

Esquerra: Normal. Dreta: Llum lineal.

Esquerra: Normal. Dreta: Llum lineal.

Llum focal

Comprova quins són els valors que proporcionen un píxel més fosc: el valor del píxel a la capa inferior o el de la capa superior amb doble brillantor. Després verifica quina és més brillant entre aquest resultat i la inversió de la capa inferior amb doble brillantor.

Esquerra: Normal. Dreta: Llum focal.

Esquerra: Normal. Dreta: Llum focal.

Esquerra: Normal. Dreta: Llum focal.

Pantalla

Perceptiblement el contrari que Multiplica.

Matemàticament, Pantalla pren ambdues capes, les inverteix, després les multiplica i finalment les inverteix de nou.

Això fa que els tons clars siguin més opacs i els tons foscos transparents.

Esquerra: Normal. Dreta: Pantalla.

Esquerra: Normal. Dreta: Pantalla.

Esquerra: Normal. Dreta: Pantalla.

Llum suau (Photoshop) i Llum suau SVG

Aquestes són versions menys dures que la Llum forta, que no donen com a resultat el negre o blanc total.

La versió SVG és lleugerament diferent de la versió del Photoshop, ja que utilitza una fórmula lleugerament diferent quan la claredat del píxel inferior és inferior al 25%, això evita que la intensitat de la brillantor augmenti.

Esquerra: Normal. Dreta: Llum suau (Photoshop).

Esquerra: Normal. Dreta: Llum suau (SVG).

Llum vívida

Similar a la superposició.

Mescla ambdós modes de barreja Esvaïment del color i Cremat del color. Si el color de la capa superior és més fosc que el 50%, el mode de barreja serà Cremat del color, d'altra manera el mode de barreja serà Esvaïment del color.

Avís

Aquest algoritme no utilitza Esvaïment del color i Cremat del color, no sabem QUÈ fa, però per a Esvaïment del color i Cremat del color necessitareu utilitzar la Barreja forta.

Esquerra: Normal. Dreta: Llum vívida.

Miscel·lània

Mapa de relleu

Aquest filtre sembla multiplicar i respectar l'alfa de l'entrada.

Combina mapes normals

Mode de barreja matemàticament robust per a mapes normals, utilitzant la Barreja de mapes normal reorientada [http://blog.selfshadow.com/publications/blending-in-detail/].

Copia

Copia exactament la capa anterior. Útil per a quan s'utilitzen filtres i màscares de filtratge.

Esquerra: Normal. Dreta: Copia.

Copia el vermell, verd, blau

Aquesta és un mode de barreja que només copiarà/barrejarà un canal d'origen a un canal de destinació. Específicament, prendrà el canal específic de la capa superior i el copiarà a les capes inferiors.

Per tant, si voleu que el pinzell només afecti el canal vermell, establiu el mode de barreja a «Copia el vermell».

Els modes de barreja copia el vermell, verd i blau també funcionen sobre les capes de filtratge.

Això també es pot fer amb les capes de filtratge. Per tant, si voleu canviar ràpidament el canal verd d'una capa, creeu una capa de filtratge invers amb un «Copia el verd» a sobre.

Esquerra: Normal. Dreta: Copia el vermell.

Esquerra: Normal. Dreta: Copia el verd.

Esquerra: Normal. Dreta: Copia el blau.

Dissol

En lloc d'utilitzar la transparència, aquest mode de barreja utilitzarà un patró de juxtaposició a l'atzar per a fer que les àrees transparents semblin una mica transparents.

Esquerra: Normal. Dreta: Dissol.

Mescla

Allanon

Barreja la capa superior com a mig transparent amb la inferior. (Afegeix les dues capes juntes i després divideix el valor a la meitat).

Esquerra: Normal. Dreta: Allanon.

Enfosquiment alfa

Pel que puc dir, això sembla premultiplicar l'alfa, com és comú en alguns formats de fitxer.

Esquerra: Normal. Dreta: Enfosquiment alfa.

Darrere

Fa el contrari del que és normal, i intenta que la capa superior es renderitzi a sota de la capa inferior.

Esquerra: Normal. Dreta: Darrere.

Esborra

Això treu dels píxels opacs de la capa superior de la capa inferior, esborrant-los de manera efectiva.

Esquerra: Normal. Dreta: Esborra.

Mitjana geomètrica

Aquest mode de barreja multiplica la capa superior amb la inferior i després genera l'arrel quadrada.

Esquerra: Normal. Dreta: Mitjana geomètrica.

Extracció de gra

Similar al Sostreu, els colors de la capa superior es restaran dels colors de la capa inferior, i després s'hi afegirà un 50% de gris.

Esquerra: Normal. Dreta: Extracció de gra.

Fusió de gra

Similar a l'Addició, els colors de la capa superior s'afegiran als colors de la capa inferior, i després s'hi restarà un 50% de gris.

Esquerra: Normal. Dreta: Fusió de gra.

Engrandeix

Un mode de barreja que comprova si el color pintat està pintat amb una opacitat més alta que els colors existents. Si és així, pinta sobre seu, si no, no pinta res.

Barreja forta

Similar a la Superposició.

Mescla ambdós modes de barreja Esvaïment del color i Cremat del color. Si el color de la capa superior és més fosc que el 50%, el mode de barreja serà Cremat del color, d'altra manera el mode de barreja serà Esvaïment del color.

Esquerra: Normal. Dreta: Barreja forta.

Barreja forta (Photoshop)

Aquest és el mode de barreja «Barreja forta» tal com està implementat al Photoshop.

Esquerra: Els punts es mesclen amb el mode de barreja normal. Dreta: Els punts es mesclen amb la Barreja forta.

Això afegeix els dos valors i després verifica si el valor està per sobre del màxim. Si és així emetrà el màxim, en cas contrari el mínim.

Superposició forta

Novetat de la versió 4.0.

Similar a la Llum forta -la qual fa servir Pantalla quan el valor està per sobre del 50%-. Dividir dóna millors resultats que Pantalla, especialment en imatges amb coma flotant.

Esquerra: Normal. Dreta: Superposició forta.

Normal

As you may have guessed this is the default Blending mode for all layers.

In this mode, the computer checks on the upper layer how transparent a pixel is, which color it is, and then mixes the color of the upper layer with the lower layer proportional to the transparency.

Esquerra: Normal 100% d'opacitat. Dreta: Normal 50% d'opacitat.

Superposició

A combination of the Multiply and Screen blending modes, switching between both at a middle-lightness.

Overlay checks if the color on the upperlayer has a lightness above 0.5. If so, the pixel is blended like in Screen mode, if not the pixel is blended like in Multiply mode.

This is useful for deepening shadows and highlights.

Esquerra: Normal. Dreta: Superposició.

Paral·lel

This one first takes the percentage in two decimal behind the comma for both layers. It then adds the two values. Divides 2 by the sum.

Esquerra: Normal. Dreta: Paral·lel.

Negatiu

These are all blending modes which seem to make the image go negative.

Additiu subtractiu

Subtract the square root of the lower layer from the upper layer.

Esquerra: Normal. Dreta: Additiu subtractiu.

Arc tangent

Divides the lower layer by the top. Then divides this by Pi. Then uses that in an Arc tangent function, and multiplies it by two.

Esquerra: Normal. Dreta: Arc tangent.

Diferència

Checks per pixel of which layer the pixel-value is highest/lowest, and then subtracts the lower value from the higher-value.

Esquerra: Normal. Dreta: Diferència.

Equivalència

Subtracts the underlying layer from the upper-layer. Then inverts that. Seems to produce the same result as Diferència.

Esquerra: Normal. Dreta: Equivalència.

Exclusió

This multiplies the two layers, adds the source, and then subtracts the multiple of two layers twice.

Esquerra: Normal. Dreta: Exclusió.

Pinzells

Una de les parts més importants d'un programa de pintura, el Krita disposa d'un sistema de pinzells molt extens.

Motors de pinzells

Bristle Brush Engine

Motor del pinzell «Chalk»

Motor del pinzell de clonat

Motor del pinzell amb esborronat del color

Motor del pinzell «Curve»

Motor del pinzell de deformació

Motor del pinzell dinàmic

Motor del pinzell amb filtratge

Motor del pinzell de reixa

Motor del pinzell d'ombrejat

Motor del pinzell de partícules

Motor del pinzell de píxels

Motor del pinzell ràpid

Motor del pinzell de formes

Motor del pinzell d'esbós

Motor del pinzell d'esprai

Motor del pinzell de tangent normal

Ajustaments del pinzell

Consells del pinzell

Bloquejar els ajustaments del pinzell

Pinzell emmascarat

Opacitat i flux

Opcions

Sensors

Textura

Motors de pinzells

Informació sobre els motors de pinzells a la que es pot accedir a l'editor de pinzells.

Motors disponibles:

Bristle Brush Engine

Motor del pinzell «Chalk»

Motor del pinzell de clonat

Motor del pinzell amb esborronat del color

Motor del pinzell «Curve»

Motor del pinzell de deformació

Motor del pinzell dinàmic

Motor del pinzell amb filtratge

Motor del pinzell de reixa

Motor del pinzell d'ombrejat

Motor del pinzell de partícules

Motor del pinzell de píxels

Motor del pinzell ràpid

Motor del pinzell de formes

Motor del pinzell d'esbós

Motor del pinzell d'esprai

Motor del pinzell de tangent normal

Bristle Brush Engine

A brush intended to mimic real-life brushes by drawing the trails of their lines or bristles.

Punta del pinzell

Simply put:

The brush tip defines the areas with bristles in them.

Lower opacity areas have lower-opacity bristles. With this brush, this may give the illusion that lower-opacity areas have fewer bristles.

The Mida and Gir dynamics affect the brush tip, not the bristles.

Podeu:

Use different shapes for different effects. Be aware that complex brush shapes will draw more slowly though, while the effects aren't always visible (since in the end, you're passing over an area with a certain number of bristles).

To decrease bristle density, you can also just use an autobrush and decrease the brush tip's density, or increase its randomness.

Opcions dels pèls

The core of this particular brush-engine.

Escala

Think of it as pressing down on a brush to make the bristles further apart.

Larger values basically give you larger brushes and larger bristle spacing. For example, a value of 4 will multiply your base brush size by 4, but the bristles will be 4 times more spaced apart.

Use smaller values if you want a "dense" brush, i.e. you don't want to see so many bristles within the center.

Negative values have the same effect as corresponding positive values: -1.00 will look like 1.00, etc.

Desplaçament aleatori

Adds a jaggy look to the trailing lines.

At 0.00, all the bristles basically remain completely parallel.

At other values, the bristles are offset randomly. Large values will increase the brush size a bit because of the bristles spreading around, but not by much.

Negative values have the same effect as corresponding positive values.

Inclina

Shear introduces an angle to your brush, as though you're drawing with an oval brush (or the side of a round brush).

Densitat

This controls the density of bristles. Scale takes a number of bristles and expands or compresses them into a denser area, whereas density takes a fixed area and determines the number of bristles in it. See the difference?

Pressió del ratolí

This one maps "Scale" to mouse speed, thus simulating pressure with a graphics tablet!

Rather, it uses the "distance between two events" to determine scale. Faster drawing, larger distances.

This doesn't influence the "pressure" input for anything else (size, opacity, rotation etc.) so you still have to map those independently to something else.

Llindar

This is a tablet feature. When you turn this on, only bristles that are able to "touch the canvas" will be painted.

Connecta els cabells

The bristles get connected. See for yourself.

Antialiàsing

This will decrease the jaggy-ness of the lines.

Pèls de composició

This "composes the bristle colors within one dab," but explains that the effect is "probably subtle."

Encongiment de tinta

This simulated ink depletion over drawing time. The value dictates how long it will take. The curve dictates the speed.

Opacitat

The brush will go transparent to simulate ink-depletion.

Saturació

The brush will be desaturated to simulate ink-depletion.

Suca tinta

The brush will pick up colors from other brushes. You don't need to have Ink depletion checked to activate this option, you just have to check Soak ink. What this does is cause the bristles of the brush to take on the colors of the first area they touch. Since the Bristle brush is made up of independent bristles, you can basically take on several colors at the same time.

Nota

It will only take colors in the unscaled area of the brush, so if you're using a brush with 4.00 scale for example, it will only take the colors in the 1/4 area closest to the center.

When the source is transparent, the bristles take black color.

Avís

Be aware that this feature is a bit buggy though. It's supposed to take the color from the current layer, but some buggy behavior causes it to often use the last layer you've painted on (with a non-Bristle brush?) as source. To avoid these weird behaviors, stick to just one layer, or paint something on the current active layer first with another brush (such as a Pixel brush).

Saturació estilada

Works by modifying the saturation with the following:

Pes de la pressió

Estil de longitud de pèl

Estil de quantitat de pèl de tinta

Estil de corba d'encongiment de tinta

Motor del pinzell «Chalk»

Obsolet desde la versió 4.0: This brush engine has been removed in 4.0. There are other brush engines such as pixel that can do everything this can...plus more.

Apparently, the Bristle brush engine is derived from this brush engine. Now, all of Krita's brushes have a great variety of uses, so you must have tried out the Chalk brush and wondered what it is for. Is it nothing but a pixel brush with opacity and saturation fade options? As per the developers this brush uses a different algorithm than the Pixel Brush, and they left it in here as a simple demonstration of the capabilities of Krita's brush engines.

So there you go, this brush is here for algorithmic demonstration purposes. Don't lose sleep because you can't figure out what it's for, it Really doesn't do much. For the sake of description, here's what it does:

Yeah, that's it, a round brush with some chalky texture, and the option to fade in opacity and saturation. That's it.

Motor del pinzell de clonat

The clone brush is a brush engine that allows you to paint with a duplication of a section of a paint-layer. This is useful in manipulation of photos and textures. You have to select a source and then you can paint to copy or clone the source to a different area. Other applications normally have a separate tool for this, Krita has a brush engine for this.

Ús i dreceres de teclat

To see the source, you need to set the brush-cursor settings to brush outline.

The clone tool can now clone from the projection and it's possible to change the clone source layer. Press Ctrl + Alt + mouseleft to select a new clone source on the current layer. Ctrl + mouseleft to select a new clone source point on the layer that was active when you selected the clone op.

Avís

Ctrl + Alt + mouseleft is temporarily disabled on 2.9.7

Ajustaments

Mida

Modes de barreja

Opacitat i flux

Mode de pintura

Guariment

This turns the clone brush into a healing brush: often used for removing blemishes in photo retouching, and maybe blemishes in painting.

Correcció de la perspectiva

Only works when there's a perspective grid visible.

Avís

This feature is currently disabled

Moviment de punt origen.

This will determine whether you will replicate the source point per dab or per stroke. Can be useful when used with the healing brush.

Clona des de totes les capes visibles.

Tick this to force cloning of all layers instead of just the active one.

Motor del pinzell amb esborronat del color

The Color Smudge Brush is a brush engine that allows you to mix colors by smearing or dulling. A very powerful brush engine to the painter.

Opcions

Consells del pinzell

Modes de barreja

Opacitat i flux

Mida

Espaiat

Mirall

Suavitat

Gir

Dispersió

Degradat

Aerògraf

Textura

Opcions úniques al motor del pinzell amb esborronat del color

Proporció de color

How much of the foreground color is added to the smudging mix. Works together with Longitud de l'esborronat and Radi d'esborronar

Longitud de l'esborronat

Affects smudging and allows you to set it to Sensors.

There's two major types:

Untat

Great for making brushes that have a very impasto oil feel to them.

Assecat

Named so because it dulls strong colors.

Using an arithmetic blending type, Dulling is great for more smooth type of painting.

Intensitat

Affects how much the smudge length takes from the previous dab its sampling. This means that smudge-length at 1.0 will never decrease, but smudge-lengths under that will decrease based on spacing and opacity/flow.

Radi d'esborronar

The Smudge Radius allows you to sample a larger radius when using smudge-length in Dulling mode.

The slider is percentage of the brush-size. You can have it modified with Sensors.

Superposició

Overlay is a toggle that determine whether or not the smudge brush will sample all layers (overlay on), or only the current one.

Tutorial: Color Smudge Brushes

I recommend at least skimming over the first part to get an idea of what does what.

Overview and settings

Overview: Smearing and Dulling

The Color Smudge Brush offers 2 modes, accessible from the Smudge Rate section:

Smearing: This mode mixes colors by smudging ("smearing") the area underneath.

Dulling: In his mode, the brush "picks up" the color underneath it, mixes it with its own color, then paints with it.

Longitud de l'esborronat

To better demonstrate the smudge function, I turned the color rate function off.

Common behaviors:

Unchecking the smudge rate function sets smudge rate to 1.00 (not 0.00)

Opacity: Below 0.50, there is practically no smudging left: keep opacity over 0.50.

Diferències:

Spacing with Smearing: the lower the spacing, the smoother the effect, so for smearing with a round brush you may prefer a value of 0.05 or less. Spacing affects the length of the smudge trail, but to a much lesser extent. The "strength" of the effect remains more or less the same however.

Spacing with Dulling: the lower the spacing, the stronger the effect: lowering the spacing too much can make the dulling effect too strong (it picks up a color and never lets go of it). The length of the effect is also affected.

Both Smearing and Dulling have a "smudge trail", but in the case of Dulling, the brush shape is preserved. Instead the trail determines how fast the color it picked up is dropped off.

The other settings should be pretty obvious from the pictures, so I'll spare you some walls of text.

Color Rate, Gradient and Blending modes

Again, most of the settings behaviors should be obvious from the pictures. Just remember to keep Opacity over 0.50.

Consells del pinzell

The Color Smudge Brush has all the same brush tip options as the Pixel Brush!

Just remember that the smudge effects are weaker when a brush tip's opacity is lower, so for low-opacity brush tips, increase the opacity and smudge/color rates.

Scatter and other shape dynamics

The Color Smudge Brush shares the following dynamics with the Pixel Brush: Opacity, Size, Spacing, Rotation, and Scatter.

However, because of the Smudge effects, the outcome will be different from the Pixel Brush. In particular, the Scatter option becomes much more significant.

A few things to note:

Scattering is proportional to the brush size. It's fine to use a scattering of 5.00 for a tiny round brush, but for bigger brushes, you may want to get it down to 0.50 or less.

You may notice the lines with the Smearing option. Those are caused by the fact that it picked up the hard lines of the rectangle.

For scattering, the brush picks up colors within a certain distance, not the color directly under the paintbrush:

Other color behaviors: Gradient, Blending modes, Overlay mode

Degradat

Gradient is equivalent to the Source ‣ Gradient and Color ‣ Mix for the Pixel brush: the color will vary between the colors of the gradient.

També podeu:

Leave the default Foreground ‣ Background gradient setting, and just change the foreground and background colors

Select a more specific gradient

Or make custom gradients.

Modes de barreja

Blending Modes work just like with the Pixel Brush. The color used though is the color from Color rate.

Color Blending modes with the smudge brush are even harder to predict than with the pixel brush, so I'll leave you to experiment on your own.

Mode de sobreposar

By default, the Color Smudge Brush only takes information from the layer it is on. However, if you want it to take color information from all the layers, you can turn on the Overlay mode.

Be aware though, that it does so by "picking up" bits of the layer underneath, which may mess up your drawing if you later make changes to the layer underneath.

Use cases: Smudging and blending

This part describes use cases with color rate off.

I won't explain the settings for dynamics in detail, as you can find the explanations in the Pixel Brush tutorial.

Smudging effects

For simple smudging:

Pick the Color Smudge Brush. You can use either Smearing or Dulling.

Turn off Color Rate

Smudge away

When using lower opacity brush tips, remember to "compensate" for the less visible effects by increasing both Smudge Rate and Opacity, if necessary to maximum.

Some settings for Smearing

For smoother smearing, decrease spacing. Remember that spacing is proportional to brush tip size. For a small round brush, 0.10 spacing is fine, but for mid-sized and large brushes, decrease spacing to 0.05 or less.

Some settings for Dulling

Lowering the spacing will also make the smudging effect stronger, so find a right balance. 0.10 for most mid-sized round brushes should be fine.

Unlike Smearing, Dulling preserves the brush shape and size, so it won't "fade off" in size like Smearing brushes do. You can mimic that effect through the simple size fade dynamic.

Textured blending

In this case, what I refer to as "Blending" here is simply using one of the following two dynamics:

Rotation set to Distance or Fuzzy

And/or Scatter:

For most mid-sized brushes you will probably want to lower the scatter rate to 0.50 or lower. Higher settings are okay for tiny brushes.

Note that Scatter picks colors within a certain distance, not the color directly under the brush (see Consells del pinzell)

Optional: Pile on size and other dynamics and vary brush tips. In fact, the Color Smudge brush is not a blur brush, so smudging is not a very good method of "smooth" blending. To blend smoothly, you'll have better luck with:

Building up the transition by painting with intermediate values, described later

Or using the "blur with feathered selection" method that I'll briefly mention at the end of this tutorial.

I've tried to achieve smooth blending with Color Smudge brush by adding rotation and scatter dynamics, but honestly they looked like crap.

However, the Color Smudge brush is very good at "textured blending":

Basically you can paint first and add textured transitions after.

Use cases: Coloring

For this last section, Color Rate is on.

Layer options

Before we get started, notice that you have several possibilities for your set up:

Shading on the same layer

Shading on a separate layer, possibly making use of alpha-inheritance. The brush blends with the transparency of the layer it's on. This means:

If the area underneath is more of less uniform, the output is actually similar as if shading on the same layer

But if the area underneath is not uniform, then you'll get fewer color variations.

Shading on a separate layer, using Overlay mode. Use this only if you're fairly sure you don't need to adjust the layer below, or the colors may become a mess.

Issue with transparency

The Color Smudge Brush blends with transparency. What this means is that when you start a new, transparent layer and "paint" on this layer, you will nearly always get less than full opacity.

Basically:

It may look great when you're coloring on a blank canvas

But it won't look so great when you add something underneath

The solution is pretty simple though:

Make sure you have the area underneath colored in first:

With tinting, you already have the color underneath colored, so that's done

For painting, roughly color in the background layer first

Or color in the shape on a new layer and make use of alpha-inheritance

For the last solution, use colors that contrast highly with what you're using for best effect. For example, shade in the darkest shadow area first, or the lightest highlights, and use the color smudge brush for the contrasting color.

Soft-shading

Suppose you want more or less smooth color transitions. You can either:

Color Rate as low as 0.10 for round brushes, higher with non fully opaque brush tips.

Or set the Smudge Rate as low as 0.10 instead.

Or a combination of the two. Please try yourself for the output you like best.

Optional: turn on Rotation for smoother blending

Optional: turn on Scatter for certain effects

Optional: fiddle with Size and Opacity dynamics as necessary.

This remains, in fact, a so-so way of making smooth transitions. It's best to build up intermediate values instead. Here:

I first passed over the blue area three times with a red color. I select 3 shades.

I color picked each of these values with Ctrl + mouseleft, then used them in succession

Painting: thick oil style

Many of the included color smudge brush presets produce a thick oil paint-like effect. This is mainly achieved with the Smearing mode on. Basically:

Smearing mode with high smudge and color rates

Both at 0.50 are fine for normal round brushes or fully opaque predefined brushes

Up to 1.00 each for brushes with less density or non fully-opaque predefined brushes

Add Size/Rotation/Scatter dynamics as needed. When you do this, increase smudge and color rates to compensate for increased color mixing.

One thing I really like to do is to set different foreground and background colors, then turn on Gradient ‣ Fuzzy. Alternatively, just paint with different colors in succession (bottom-right example).

Here's some final random stuff. With pixel brushes, you can get all sorts of frill designs by using elongated brushes and setting the dynamics to rotation. You won't get that with Color Smudge Brushes. Instead you'll get something that looks more like... yarn. Which is cool too. Here, I just used oval brushes and Rotation ‣ Distance.

Painting: Digital watercolor style

When I say "digital watercolor", it refers to a style often seen online, i.e. a soft, smooth shading style rather than realistic watercolor. For this you mostly need the Dulling mode. A few things:

Contrary to the Smearing mode, you may want to lower opacity for normal round brushes to get a smoother effect, to 0.70 for example.

Vary the brush tip fade value as well.

When using Scatter or other dynamics, you can choose to set smudge and color values to high or low values, for different outcomes.

Blurring

Podeu:

Paint then smudge, for mostly texture transitions

Or build up transitions by using intermediate color values

If you want even smoother effects, well, just use blur. Gaussian blur to be exact.

And there you go. That last little trick concludes this tutorial.

Motor del pinzell «Curve»

The curve brush is a brush engine which creates strokes made of evenly spaced lines. It has, among other things been used as a replacement for pressure sensitive strokes in lieu of a tablet.

Ajustaments

First off, the line produced by the Curve brush is made up of 2 sections:

The connection line, which is the main line drawn by your mouse

The curve lines I think, which are the extra fancy lines that form at curves. The curve lines are formed by connecting one point of the curve to a point earlier on the curve. This also means that if you are drawing a straight line, these lines won't be visible, since they'll overlap with the connection line. Drawing faster gives you wider curves areas.

You have access to 3 settings from the Lines tab, as well as 2 corresponding dynamics:

Line width: this applies to both the connection line and the curve lines.

Line width dynamics: use this to vary line width dynamically.

History size: this determines the distance for the formation of curve lines.

If you set this at low values, then the curve lines can only form over a small distances, so they won't be too visible.

On the other hand, if you set this value too high, the curve lines will only start forming relatively "late".

So in fact, you'll get maximum curve lines area with a mid-value of say... 40~60, which is about the default value. Unless you're drawing at really high resolutions.

Curves opacity: you can't set different line widths for the connection line and the curve lines, but you can set a different opacity for the curve lines. With low opacity, this will produce the illusion of thinner curve lines.

Curves opacity dynamics: use this to vary Curves opacity dynamically.

In addition, you have access to two checkboxes:

Paint connection line, which toggles the visibility of the connection line

Smoothing, which... I have no idea actually. I don't see any differences with or without it. Maybe it's for tablets?

Drawing variable-width lines

And here's the only section of this tutorial that anyone cares about: pretty lineart lines! For this:

Use the Draw Dynamically mode: I tend to increase drag to at least 50. Vary Mass and Drag until you get the feel that's most comfortable for you.

Set line width to a higher value (ex.: 5), then turn line width dynamics on:

If you're a tablet user, just set this to Pressure (this should be selected by default so just turn on the Line Width dynamics). I can't check myself, but a tablet user confirmed to me that it works well enough with Draw Dynamically.

If you're a mouse user hoping to get variable line width, set the Line Width dynamics to Speed.

Set Curves opacity to 0: This is the simplest way to turn off the Curve lines. That said, leaving them on will get you more "expressive" lines.

Consells addicionals:

Zig-zag a lot if you want a lot of extra curves lines.

Use smooth, sweeping motions when you're using Draw Dynamically with Line Width set to Speed: abrupt speed transitions will cause abrupt size transitions. It takes a bit of practice, and the thicker the line, the more visible the deformities will be. Also, zoom in to increase control.

If you need to vary between thin and thick lines, I suggest creating presets of different widths, since you can't vary the base line width from the canvas.

Alternativa:

Use the Draw Dynamically mode

Set Curves opacity to 100

Optionally decrease History size to about 30

The curve lines will fill out the area they cover completely, resulting in a line with variable widths. Anyway, here are some comparisons:

And here are examples of what you can do with this brush:

Motor del pinzell de deformació

The Deform Brush is a brush that allows you to pull and push pixels around. It's quite similar to the Liquify, but where liquify has higher quality, the deform brush has the speed.

Opcions

Consells del pinzell

Opcions de la deformació

Modes de barreja

Opacitat i flux

Mida

Gir

Aerògraf

Opcions de la deformació

1: undeformed, 2: Move, 3: Grow, 4: Shrink, 5: Swirl Counter Clock Wise, 6: Swirl Clockwise, 7: Lens Zoom In, 8: Lens Zoom Out

These decide what strangeness may happen underneath your brush cursor.

Creix

This bubbles up the area underneath the brush-cursor.

Encongeix

This pinches the Area underneath the brush-cursor.

Swirl Counter Clock Wise

Swirls the area counter clock wise.

Swirl Clock Wise

Swirls the area clockwise.

Mou

Nudges the area to the painting direction.

Deformació del color

This seems to randomly rearrange the pixels underneath the brush.

Apropa el zoom de la lent

Literally paints a enlarged version of the area.

Allunya el zoom de la lent

Paints a minimized version of the area.

Showing color deform.

Quantitat de deformació

Defines the strength of the deformation.

Interpolació bilineal

Interpolació bilineal

Smoothens the result. This causes calculation errors in 16bit.

Usa el comptador

Slows down the deformation subtlety.

Without 'use undeformed' to the left and with to the right

Usa la imatge no deformada

Samples from the previous version of the image instead of the current. This works better with some deform options than others. Move for example seems to almost stop working, but it works really well with Grow.

Motor del pinzell dinàmic

Dyna brush uses dynamic setting like mass and drag to draw strokes. The results are fun and random spinning strokes. To experiment more with this brush you can play with values in 'dynamic settings' section of the brush editor under Dyna Brush.

Obsolet desde la versió 4.0: This brush engine has been removed in 4.0. This engine mostly had smoothing results that the dyna brush tool has in the toolbox. The stabilizer settings can also give you further smoothing options from the tool options.

Opcions

Mida del pinzell (dinàmic)

Modes de barreja

Opacitat i flux

Aerògraf

Mida del pinzell (dinàmic)

Dynamics Settings

Amplada inicial

Initial size of the dab.

Massa

How much energy there is in the satellite like movement.

Arrossega

How close the dabs follow the position of the brush-cursor.

Interval d'amplada

How much the dab expands with speed.

Forma

Diàmetre

Size of the shape.

Angle

Angle of the shape. Requires Fixed Angle active to work.

Cercle

Make a circular dab appear.

Dos

Draws an extra circle between other circles.

Línia

Connecting lines are drawn next to each other. The number boxes on the right allows you to set the spacing between the lines and how many are drawn.

Polígon

Draws a black polygon as dab.

Wire

Draws the wireframe of the polygon.

Pintar la connexió

Draws the connection line.

Motor del pinzell amb filtratge

Where in other programs you have a 'dodge tool', 'blur tool' and 'sharpen tool', Krita has a special brush engine for this: The Filter Brush engine. On top of that, due to Krita's great integration of the filters, a huge amount of filters you'd never thought you wanted to use for a drawing are possible in brush form too!

Opcions

The filter brush has of course some basic brush-system parameters:

Consells del pinzell

Modes de barreja

Opacitat i flux

Mida

Mirall

Gir

Motor del pinzell de reixa

The grid brush engine draws shapes on a grid. It helps you produce retro and halftone effects.

If you're looking to setup a grid for snapping, head to Grids and Guides Docker.

Opcions

Mida del pinzell

Tipus de partícula

Modes de barreja

Opacitat i flux

Opcions del color

Mida del pinzell

Amplada de la reixa

Width of the cursor area

Alçada de la reixa

Height of the cursor area

Divisió

Subdivides the cursor area and uses the resulting area to draw the particles.

Divisió per pressió

The more you press, the more subdivisions. Uses Division as the finest subdivision possible.

Escala

Scales up the area.

Vora vertical

Forces vertical borders in the particle space, between which the particle needs to squeeze itself.

Vora horitzontal

Forces a horizontal borders in the particle space, between which the particle needs to squeeze itself.

Vores Jitter

Randomizes the border values with the Border values given as maximums.

Tipus de partícula

Decides the shape of the particle.

El·lipse

Fills the area with an ellipse.

Rectangle

Fills the area.

Línia

Draws lines from the lower left to the upper right corner of the particle

Píxel

Looks like an aliased line on high resolutions.

Píxel amb antialiàsing

Fills the area with little polygons.

Opcions del color

HSV aleatori

Randomize the HSV with the strength of the sliders. The higher, the more the color will deviate from the foreground color, with the direction indicating clock or counter clockwise.

Opacitat aleatòria

Randomizes the opacity.

Color per partícula

Has the color options be per particle instead of area.

Capa d'entrada de la mostra

Will use the underlying layer as reference for the colors instead of the foreground color.

Emplena el fons

Fills the area before drawing the particles with the background color.

Mescla amb el color de fons

Gives the particle a random color between foreground/input/random HSV and the background color.

Motor del pinzell d'ombrejat

When I first tried this brush, my impression of it was "plain parallel lines" (and the award for most boring brush goes to...). Fortunately, existing presets gave me an idea of the possibilities of this brush.

Ajustaments

Punta del pinzell

The brush tip simply defines the area where the hatching will be rendered.

Transparent brush tip areas give more transparent hatching, but as with a normal brush, passing over the area again will increase opacity.

The hatching itself is mostly fixed in location, so drawing with a hatching brush usually acts more like "revealing" the hatching underneath than drawing with brushes of parallel lines. The exception is for Moiré pattern with Crosshatching dynamics on.

Vary the brush shape or texture for a variety of effects. Decreasing the density of the autobrush will give a grainy texture to your hatching, for example.

The Size dynamic affects the brush tip, not the hatching thickness.

Preferències de l'ombrejat

Before going on: at the time of this writing, there is a bug that causes line thickness to not vary on default settings. To get around this, go to Hatching preferences and check Antialiased Lines. Pentalis is aware of this issue so the bug may get fixed soon.

Les tres opcions són:

Antialiased lines: This controls aliasing. If changing line thickness isn't working, check this option and it should work, because it switches to a different algorithm.

Subpixel precision: I'm guessing this affects the rendering quality, but you won't see much of a difference. Check this if you want to.

Color background: Checking this will color in the background at the back of the hatching.

The output is slightly different depending on whether the first two options are checked, but the difference isn't enough for you to worry about. I recommend just keeping the first two options checked.

Opcions de l'ombrejat

This is where the main hatching options go. They're intuitive enough:

Angle: The angle of the hatching.

Separation: This is the distance between the centers of the lines.

Use a value of 2 pixels or higher, or the lines won't be distinct anymore.

The Separations dynamic doesn't actually assign random values to Separation, instead it will take the value in "Input-based intervals" to divide the grid further. "Input-based intervals" can take values between 2 and 7.

Thickness: The line thickness.

Actually, this is the thickness of the line + blank area, so the line itself has a thickness of half this value.

If you use the same separation value and the same line thickness value, then the lines and the area between them will be of the same thickness.

You can vary this value dynamically with the Thickness dynamics.

If the line thickness isn't changing for you, go to Hatching Preferences and check "Antialiased Lines."

Origin X and Origin Y: The hatching has a fixed location, painting acts as though you're revealing the existing hatching underneath. To nudge the hatching, you can tweak these two values. You can get various grid effects this way.

Finally, we have the hatching styles:

No crosshatching: basic parallel lines

Perpendicular plane only: grid lines

-45 degrees plane then +45 degrees plane: see example.

+45 degrees plane then -45 degrees plane: see example, actually not much different from the above, it's mostly the order that changes when using dynamics.

Moiré pattern: See example.

The Crosshatching dynamic only works if you have already chosen a crosshatching style. When that happens, the crosshatching only gets drawn according to the conditions of the dynamics (pressure, speed, angle...).

With most hatching styles, using crosshatching dynamics basically gets you the same hatching style, minus the occasional line.

The exception is with Moire, which will produce a different pattern.

Casos d'ús

If you don't want the edges to be fuzzy, go to Brush Tip and set the Fade values to 1.00. I recommended doing the hatching on a separate layer, then erasing the extra areas.

Ara, per als usos:

You can, of course, just use this for completely normal hatching. In versions I'm using, the default Separation is 1, which is too low, so increase Separation to a value between 2 to 10.

If you find normal hatching too boring, increase the Thickness and set the Thickness dynamic to either Pressure (if you have a tablet) or Speed (if you're using a mouse). Doesn't that look more natural? (When using a mouse, pass over the areas where you want thicker lines again while drawing faster)

Grittier texture: add some density and/or randomness to your autobrush for a grittier texture.

You can also set Painting Mode to Build up, and Mode to Multiply, to make some colors have more depth. (see my grid example)

Vary Origin X and Origin Y while using the same patterns.

Use the Separations dynamic for more complex patterns. Add in Line Thickness and other dynamics for more effect.

Now, the Moiré pattern is quite boring on its own, but it is much more interesting with Crosshatching dynamics set on Fuzzy.

For more texture, set Line Thickness to Fuzzy, decrease Density a bit and increase Randomness and you get a nice gritty texture.

Motor del pinzell de partícules

A brush that draws wires using parameters. These wires always get more random and crazy over drawing distance. Gives very intricate lines best used for special effects.

Opcions

Mida del pinzell

Modes de barreja

Opacitat i flux

Aerògraf

Mida del pinzell

Partícules

How many particles there's drawn.

Ponderació de l'opacitat

The Opacity of all particles. Is influenced by the painting mode.

Dx Scale (Distance X Scale)

How much the horizontal cursor distance affects the placing of the pixel. Is unstable on negative values. 1.0 is equal.

Dy Scale (Distance Y Scale)

How much the vertical cursor distance affects the placing of the pixel. Is unstable on negative values. 1.0 is equal.

Gravetat

Multiplies with the previous particle's position, to find the new particle's position.

Iteracions

The higher, the higher the internal acceleration is, with the furthest away particle from the brush having the highest acceleration. This means that the higher iteration is, the faster and more randomly a particle moves over time, giving a messier result.

Motor del pinzell de píxels

Brushes are ordered alphabetically. The brush that is selected by default when you start with Krita is the Pixel Brush. The pixel brush is the traditional mainstay of digital art. This brush paints impressions of the brush tip along your stroke with a greater or smaller density.

Let's first review these mechanics:

select a brush tip. This can be a generated brush tip (round, square, star-shaped), a predefined bitmap brush tip, a custom brush tip or a text.

select the spacing: this determines how many impressions of the tip will be made along your stroke

select the effects: the pressure of your stylus, your speed of painting or other inputs can change the size, the color, the opacity or other aspects of the currently painted brush tip instance -- some applications call that a "dab".

depending on the brush mode, the previously painted brush tip instance is mixed with the current one, causing a darker, more painterly stroke, or the complete stroke is computed and put on your layer. You will see the stroke grow while painting in both cases, of course!

Since 4.0, the Pixel Brush Engine has Multithreaded brush-tips, with the default brush being the fastest mask.

Opcions disponibles:

Consells del pinzell

Modes de barreja

Opacitat i flux

Mida

Relació

Espaiat

Mirall

Suavitat

Agudesa

Gir

Dispersió

Origen

Mescla

Aerògraf

Textura

Pinzell emmascarat

Paràmetres específics al motor del pinzell de píxels

Fosca

Allows you to Darken the source color with Sensors.

The color will always become black in the end, and will work with Plain Color, Gradient and Uniform random as source.

To, saturació i valor

These parameters allow you to do an HSV adjustment filter on the Origen and control it with Sensors.

Works with Plain Color, Gradient and Uniform random as source.

Uses

Having all three parameters on Fuzzy will help with rich color texture. In combination with Mescla, you can have even finer control.

Motor del pinzell ràpid

A Brush Engine inspired by the common artist's workflow where a simple big brush, like a marker, is used to fill large areas quickly, the Quick Brush engine is an extremely simple, but quick brush, which can give the best performance of all Brush Engines.

It can only change size, blending mode and spacing, and this allows for making big optimisations that aren't possible with other brush engines.

Modes de barreja

Espaiat

Mida

Pinzell

The only parameter specific to this brush.

Diàmetre

The size. This brush engine can only make round dabs, but it can make them really fast despite size.

Espaiat

The spacing between the dabs. This brush engine is particular in that it's faster with a lower spacing, unlike all other brush engines.

Vegeu també

Tasca al Phabricator [https://phabricator.kde.org/T3492]

Motor del pinzell de formes

An Al.chemy inspired brush-engine. Good for making chaos with!

Ajustaments

Opció experimental

Modes de barreja

Opció experimental

Velocitat

This makes the outputted contour jaggy. The higher the speed, the jaggier.

Suavitzat

Smoothens the output contour. This slows down the brush, but the higher the smooth, the smoother the contour.

Desplaçament

This displaces the shape. The slow the movement, the higher the displacement and expansion. Fast movements shrink the shape.

Emplenat sinuós

This gives you the option to use a 'non-zero' fill rules instead of the 'even-odd' fill rule, which means that where normally crossing into the shape created transparent areas, it now will not.

Vora sòlida

Removes the anti-aliasing, to get a pixelized line.

Motor del pinzell d'esbós

A line based brush engine, based on the Harmony brushes. Very messy and fun.

Ajustaments

Té els següents ajustaments:

Consells del pinzell

Modes de barreja

Opacitat i flux

Mida

Relació

Amplada de la línia

Escala de desplaçament

Densitat

Gir

Aerògraf

Amplada de la línia

The width of the rendered lines.

Escala de desplaçament

When curve lines are formed, this value roughly determines the distance from the curve lines to the connection lines:

This is a bit misleading, because a value of 0% and a value of 100% give similar outputs, as do a value of say 30% and 70%. You could think that the actual value range is between 50% and 200%.

0% and 100% correspond to the curve lines touching the connection lines exactly.

Above 100%, the curve lines will go further than the connection lines, forming a fuzzy effect.

Densitat

The density of the lines. This one is highly affected by the Brush-tip, as determined by the Distance Density toggle.

Usa la densitat de distància

The further the line covered is from the center of the area of effect, the less the density of the resulting curve lines.

Magnetitza

Magnetify is on by default. It's what causes curve lines to form between two close line sections, as though the curve lines are attracted to them like magnets. With Magnetify off, the curve line just forms on either side of the current active portion of your connection line. In other words, your line becomes fuzzier when another portion of the line is nearby, but the lines don't connect to said previous portion.

RGB aleatori

Causes some slight RGB variations.

Opacitat aleatòria

The curve lines get random opacity. This one is barely visible, so for the example I used line width 12 and 100% opacity.

Opacitat de distància

The distance based opacity. When you move your pen fast when painting, the opacity will be calculated based on the distance from the center of the effect area.

Mode simple

This mode exists for performance reasons, and doesn't affect the output in a visible way. Check this for large brushes or thick lines for faster rendering.

Pinta la línia de connexió

What appears to be the connection line is usually made up of an actual connection line and many smaller curve lines. The many small curve lines make up the majority of the line. For this reason, the only time this option will make a visible difference is if you're drawing with 0% or near 0% density, and with a thick line width. The rest of the time, this option won't make a visible difference.

Motor del pinzell d'esprai

A brush that can spray particles around in its brush area.

Opcions

Àrea d'esprai

Forma d'esprai

Consells del pinzell (Used as particle if spray shape is not active)

Opacitat i flux

Mida

Modes de barreja

Dinàmiques de forma

Opcions del color

Gir

Aerògraf

Àrea d'esprai

The area in which the particles are sprayed.

Diàmetre

The size of the area.

Relació d'aspecte

It's aspect ratio: 1.0 is fully circular.

Angle

The angle of the spray size: works nice with aspect ratios other than 1.0.

Escala

Scales the diameter up.

Espaiat

Increases the spacing of the diameter's spray.

Partícules

Comptador

Use a specified amount of particles.

Densitat

Use a % amount of particles.

Moviment Jitter

Jitters the spray area around for extra randomness.

Distribució de Gauss

Focuses the particles to paint in the center instead of evenly random over the spray area.

Forma d'esprai

If activated, this will generate a special particle. If not, the brush-tip will be the particle.

Forma

Pot ser...

El·lipse

Rectangle

Píxel amb antialiàsing

Píxel

Imatge

Amplada i alçada

Decides the width and height of the particle.

Proporcional

Locks Width & Height to be the same.

Textura

Allows you to pick an image for the Image shape.

Dinàmiques de forma

Mida aleatòria

Randomizes the particle size between 1x1 px and the given size of the particle in brush-tip or spray shape.

Gir fix

Gives a fixed rotation to the particle to work from.

Gir aleatori

Randomizes the rotation.

Estil de seguiment del cursor

How much the pressure affects the rotation of the particles. At 1.0 and high pressure it'll seem as if the particles are exploding from the middle.

Estil d'angle

How much the spray area angle affects the particle angle.

Opcions del color

HSV aleatori

Randomize the HSV with the strength of the sliders. The higher, the more the color will deviate from the foreground color, with the direction indicating clock or counter clockwise.

Opacitat aleatòria

Randomizes the opacity.

Color per partícula

Has the color options be per particle instead of area.

Capa d'entrada de la mostra.

Will use the underlying layer as reference for the colors instead of the foreground color.

Emplena el fons

Fills the area before drawing the particles with the background color.

Mescla amb el color de fons.

Gives the particle a random color between foreground/input/random HSV and the background color.

Motor del pinzell de tangent normal

The Tangent Normal Brush Engine is an engine that is specifically designed for drawing normal maps, of the tangent variety. These are in turn used in 3d programs and game engines to do all sorts of lightning trickery. Common uses of normal maps include faking detail where there is none, and to drive transformations (Flow Maps).

A Normal map is an image that holds information for vectors. In particular, they hold information for Normal Vectors, which is the information for how the light bends on a surface. Because Normal Vectors are made up of 3 coordinates, just like colors, we can store and see this information as colors.

Normals can be seen similar to the stylus on your tablet. Therefore, we can use the tilt-sensors that are available to some tablets to generate the color of the normals, which can then be used by a 3d program to do lighting effects.

In short, you will be able to paint with surfaces instead of colors.

The following options are available to the tangent normal brush engine:

Consells del pinzell

Modes de barreja

Opacitat i flux

Mida

Relació

Espaiat

Mirall

Suavitat

Agudesa

Gir

Dispersió

Aerògraf

Textura

Specific Parameters to the Tangent Normal Brush Engine

Tangent inclinada

These are the options that determine how the normals are calculated from tablet input.

Codificació de tangent

This allows you to set what each color channel means. Different programs set different coordinates to different channels, a common version is that the green channel might need to be inverted (-Y), or that the green channel is actually storing the x-value (+X).

Opcions d'inclinació

Allows you to choose which sensor is used for the X and Y.

Inclinació

Uses Tilt for the X and Y.

Direcció

Uses the drawing angle for the X and Y and Tilt-elevation for the Z, this allows you to draw flowmaps easily.

Gir

Uses rotation for the X and Y, and tilt-elevation for the Z. Only available for specialized Pens.

Sensibilitat de l'elevació

Allows you to change the range of the normal that are outputted. At 0 it will only paint the default normal, at 1 it will paint all the normals in a full hemisphere.

Usage

The Tangent Normal Map Brush Engine is best used with the Tilt Cursor, which can be set in Settings ‣ Configure Krita ‣ General ‣ Outline Shape ‣ Tilt Outline.

Normal Map authoring workflow

Create an image with a background color of (128, 128, 255) blue/purple.

Setting up a background with the default color.

Set up group with a Phong Bumpmap filter mask. Use the Use Normal map checkbox on the filter to make it use normals.

Creating a phong bump map filter layer, make sure to check 'Use Normal map'.

These settings give a nice daylight-esque lighting setup, with light 1 being the sun, light 3 being the light from the sky, and light 2 being the light from the ground.

Make a Normalize filter layer or mask to normalize the normal map before feeding it into the Phong bumpmap filter for the best results.

Then, paint on layers in the group to get direct feedback.

Paint on the layer beneath the filters with the tangent normal brush to have them be converted in real time.

Finally, when done, hide the Phong bumpmap filter layer (but keep the Normalize filter layer!), and export the normal map for use in 3d programs.

Drawing Direction Maps

Direction maps are made with the Direction option in the Tangent Tilt options. These normal maps are used to distort textures in a 3d program (to simulate for example, the flow of water) or to create maps that indicate how hair and brushed metal is brushed. Krita can't currently give feedback on how a given direction map will influence a distortion or shader, but these maps are a little easier to read.

Just set the Tangent Tilt option to Direction, and draw. The direction your brush draws in will be the direction that is encoded in the colors.

Only editing a single channel

Sometimes you only want to edit a single channel. In that case set the blending mode of the brush to Copy <channel>, with <channel> replaced with red, green or blue. These are under the Misc section of the blending modes.

So, if you want the brush to only affect the red channel, set the blending mode to Copy Red.

The copy red, green and blue blending modes also work on filter-layers.

This can also be done with filter layers. So if you quickly want to flip a layer's green channel, make an invert filter layer with Copy Green above it.

Mixing Normal Maps

For mixing two normal maps, Krita has the Combine Normal Map blending mode under Misc.

Ajustaments del pinzell

Ajustaments generals del pinzell per als diferents motors de pinzell.

Contingut:

Consells del pinzell

Bloquejar els ajustaments del pinzell

Pinzell emmascarat

Opacitat i flux

Opcions

Sensors

Textura

Consells del pinzell

Auto Brush

The generic circle or square. These brush-tips are generated by Krita through certain parameters.

Tipus

First, there are three mask-types, with each the circle and square shape:

Predeterminat

This is the ultimate generic type. The fade parameter produces the below results. Of the three auto brushes, this is the fastest.

Suau

This one's fade is controlled by a curve!

Gaussià

This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest.

Ajustaments

Diàmetre

The pixel size of the brush.

Relació

Whether the brush is elongated or not.

Esvaeix

this sets the softness of the brush. You can click the chain-symbol to lock and unlock these settings. Fade has a different effect per mask-type, so don't be alarmed if it looks strange, perhaps you have the wrong mask-type.

(Amb l'esvaïment blocat)

(With fade separately horizontal and vertical)

Angle

This changes the angle a which the brush is at.

Puntes

This gives the amount of tips related to the ratio.

Densitat

This determines how much area the brush-covers over its size: It makes it noisy. In the example below, the brush is set with density 0%, 50% and 100% respectively.

Aleatorietat

This changes the randomness of the density. In the example below, the brush is set with randomness 0%, 50% and 100% respectively.

Espaiat

This affects how far brushes are spaced apart. In the below picture, the three examples on the left are with spacing 0, 1 and 5.

Auto (spacing)

Ticking this will set the brush-spacing to a different (quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively.

Línies suaus

This toggles the super-smooth anti-aliasing. In the below example, both strokes are drawn with a default brush with fade set to 0. On the left without smooth lines, and the right with. Very useful for inking brushes. This option is best used in combination with Auto Spacing.

Precisió

This changes how smooth the brush is rendered. The lower, the faster the brush, but the worse the rendering looks. You'd want an inking brush to have a precision of 5 at all times, but a big filling brush for painting doesn't require such precision, and can be easily sped up by setting precision to 1.

Auto (precision)

This allows you to set the precision linked to the size. The first value is the brush size at which precision is last 5, and the second is the size-difference at which the precision will decrease.

For example: A brush with ''starting brush size'' 10 and ''delta'' 4, will have...

precision 5 at size 10

precision 4 at size 14

precision 3 at size 18

precision 2 at size 22

precision 1 at sizes above 26.

Pinzells predefinits

If you have used other applications like GIMP or Photoshop, you will have used this kind of brush. Krita is (mostly) compatible with the brush tip definitions files of these applications:

abr

GIMP autobrush tip definitions

*.gbr

GIMP single bitmap brush tip. Can be black and white or colored.

*.gih

GIMP Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. Krita does not yet support all the parameters yet.

abr

Photoshop brush tip collections. We support many of the features of these brush files, though some advanced features are not supported yet.

Note that the definition of ABR brushes has been reverse engineered since Adobe does not make the specification public. We strongly recommend every Krita user to share brush tips in GBR and GIH format and more complex brushes as Krita presets.

All predefined brush tips are shown in one selector. There are four more options that influence the initial bitmap brush tip you start painting with:

Escala

scales the brush tip. 1.0 is the native size of the brush tip. This can be fairly large! When painting with variable size (for instance governed by pressure), this is the base for the calculations.

Gir

initial rotation of the brush tip.

Espaiat

distance between the brush tip impressions.

Usa el color com a màscara

for colored brushes, don't paint the actual colors, but make a grayscale brush tip that will be colored by your selected foreground/background color.

Bloquejar els ajustaments del pinzell

Normally, a changing to a different brush preset will change all brush settings. Locked presets are a way for you to prevent Krita from changing all settings. So, if you want to have the texture be that same over all brushes, you lock the texture parameter. That way, all brush-preset you select will now share the same texture!

Bloquejar un paràmetre del pinzell

To lock an option, mouseright the little lock icon next to the parameter name, and set it to Lock. It will now be highlighted to show it's locked:

And on the canvas, it will show that the texture-option is locked.

Desbloquejar un paràmetre del pinzell

To unlock, mouseright the icon again.

Hi haurà dues opcions:

Desbloqueja (descarta el bloqueig)

This will get rid of the settings of the locked parameter and take that of the active brush preset. So if your brush had no texture on, using this option will revert it to having no texture.

Desbloquejar (el manté bloquejat)

This will keep the settings of the parameter even though it's unlocked.

Pinzell emmascarat

Novetat de la versió 4.0.

Masked brush is new feature that is only available in the Motor del pinzell de píxels. They are additional settings you will see in the brush editor. Masked brushes allow you to combine two brush tips in one stroke. One brush tip will be a mask for your primary brush tip. A masked brush is a good alternative to texture for creating expressive and textured brushes.

Nota

Due to technological constraints, the masked brush only works in the wash painting mode. However, do remember that flow works as opacity does in the build-up painting mode.

Consells del pinzell

Like with normal brush tip you can choose any brush tip and change it size, spacing, and rotation. Masking brush size is relative to main brush size. This means when you change your brush size masking tip will be changed to keep the ratio.

Blending mode (drop-down inside Brush tip):

Blending modes changes how tips are combined.

Mida

The size sensor option of the second tip.

Opacitat i flux

The opacity and flow of the second tip. This is mapped to a sensor by default. Flow can be quite aggressive on subtract mode, so it might be an idea to turn it off there.

Relació

This affects the brush ratio on a given brush.

Mirall

The Mirror option of the second tip.

Gir

The rotation option of the second tip. Best set to "fuzzy dab".

Dispersió

The scatter option. The default is quite high, so don't forget to turn it lower.

Difference from Textura

You don’t need seamless texture to make cool looking brush

Stroke generates on the fly, it always different

Brush strokes looks same on any brush size

Easier to fill some areas with solid color but harder to make it hard textured

Opacitat i flux

Opacity and flow are parameters for the transparency of a brush.

They are interlinked with the painting mode setting.

Opacitat

The transparency of a stroke.

Flux

The transparency of separate dabs. Finally separated from Opacity in 2.9

Mode de pintura

Construeix

Will treat opacity as if it were the same as flow.

Rentatge

Will treat opacity as stroke transparency instead of dab-transparency.

where the other images of this page had all three strokes set to painting mode: wash, this one is set to build-up.

Opcions

Aerògraf

If you hold the brush still, but are still pressing down, this will keep adding color onto the canvas. The lower the rate, the quicker the color gets added.

Mirall

This allows you to mirror the Brush-tip with Sensors.

Horitzontal

Mirrors the mask horizontally.

Vertical

Mirrors the mask vertically.

Some examples of mirroring and using it in combination with Gir.

Gir

This allows you to affect Angle of your brush-tip with Sensors.

In the above example, several applications of the parameter.

Drawing Angle -- A common one, usually used in combination with rake-type brushes. Especially effect because it does not rely on tablet-specific sensors. Sometimes, Tilt-Direction or Rotation is used to achieve a similar-more tablet focused effect, where with Tilt the 0° is at 12 o'clock, Drawing angle uses 3 o'clock as 0°.

Fuzzy -- Also very common, this gives a nice bit of randomness for texture.

Distance -- With careful editing of the Sensor curve, you can create nice patterns.

Fade -- This slowly fades the rotation from one into another.

Pressure -- An interesting one that can create an alternative looking line.

Dispersió

This parameter allows you to set the random placing of a brush-dab. You can affect them with Sensors.

X

The scattering on the angle you are drawing from.

Y

The scattering, perpendicular to the drawing angle (has the most effect)

Agudesa

Puts a threshold filter over the brush mask.

Mida

This parameter is not the diameter itself, but rather the curve for how it's affected.

So, if you want to lock the diameter of the brush, lock the Brush-tip. Locking the size parameter will only lock this curve. Allowing this curve to be affected by the Sensors can be very useful to get the right kind of brush. For example, if you have trouble drawing fine lines, try to use a concave curve set to pressure. That way you'll have to press hard for thick lines.

Also popular is setting the size to the sensor fuzzy or perspective, with the later in combination with a Perspectiva

Suavitat

This allows you to affect Fade with Sensors.

Has a slight brush-decreasing effect, especially noticeable with soft-brush, and is overall more noticeable on large brushes.

Origen

Picks the source-color for the brush-dab.

Color llis

Current foreground color.

Degradat

Picks active gradient

Aleatorietat uniforme

Gives a random color to each brush dab.

Aleatorietat total

Random noise pattern is now painted.

Patró

Uses active pattern, but alignment is different per stroke.

Patró bloquejat

Locks the pattern to the brushdab

Mescla

Allows you to affect the mix of the Origen color with Sensors. It will work with Plain Color and Gradient as source. If Plain Color is selected as source, it will mix between foreground and background colors selected in color picker. If Gradient is selected, it chooses a point on the gradient to use as painting color according to the sensors selected.

Usos

Flow map

The above example uses a Krita painted flowmap in the 3D program Blender. A brush was set to Source ‣ Gradient and Mix ‣ Drawing angle. The gradient in question contained the 360° for normal map colors. Flow maps are used in several Shaders, such as brushed metal, hair and certain river-shaders.

Degradat

Exactly the same as using Source ‣ Gradient with Mix, but only available for the Color Smudge Brush.

Espaiat

This allows you to affect Consells del pinzell with Sensors.

Espaiat isotròpic

Instead of the spacing being related to the ratio of the brush, it will be on diameter only.

Relació

Allows you to change the ratio of the brush and bind it to parameters. This also works for predefined brushes.

Sensors

Pressió

Uses the pressure in and out values of your stylus.

Pressió d'entrada

Uses only pressure in values of your stylus. Previous pressure level in same stroke is overwritten only by applying more pressure. Lessening the pressure doesn't affect PressureIn.

Inclinació en X

How much the brush is affected by stylus angle, if supported.

Inclinació en Y

How much the brush is affected by stylus angle, if supported.

Direcció d'inclinació

How much the brush is affected by stylus direction. The pen point pointing towards the user is 0°, and can vary from -180° to +180°.

Elevació de la inclinació

How much the brush is affected by stylus perpendicularity. 0° is the stylus horizontal, 90° is the stylus vertical.

Velocitat

How much the brush is affected by the speed at which you draw.

Angle de dibuix

How much the brush is affected by which direction you are drawing in. Lock will lock the angle to the one you started the stroke with. Fan corners will try to smoothly round the corners, with the angle being the angles threshold it'll round. Angle offset will add an extra offset to the current angle.

Gir

How much a brush is affected by how the stylus is rotated, if supported by the tablet.

Distància

How much the brush is affected over length in pixels.

Temps

How much a brush is affected over drawing time in seconds..

Toc difús

Basically the random option.

Traç difús

A randomness value that is per stroke. Useful for getting color and size variation in on speed-paint brushes.

Esvaeix

How much the brush is affected over length, proportional to the brush tine.

Perspectiva

How much the brush is affected by the perspective assistant.

Pressió tangencial

How much the brush is affected by the wheel on airbrush-simulating stylii.

Textura

This allows you to have textured strokes. This parameter always shows up as two parameters:

Textura

Patró

Which pattern you'll be using.

Escala

The size of the pattern. 1.0 is 100%. .. image:: /images/en/Krita_2_9_brushengine_texture_05.png

Horizontal Offset & Vertical Offset

How much a brush is offset, random offset sets a new per stroke. .. image:: /images/en/Krita_2_9_brushengine_texture_04.png

Mode de textura

Multiplica

Uses alpha multiplication to determine the effect of the texture. Has a soft feel.

Sostreu

Uses subtraction to determine the effect of the texture. Has a harsher, more texture feel.

Política de retall

Cutoff policy will determine what range and where the strength will affect the textured outcome.

Desactivat

doesn't cut off. Full range will be used.

Patró

cuts the pattern off.

Pinzell

Cuts the brush-tip off.

Retall

Cutoff is... the grayscale range that you can limit the texture to. This also affects the limit takes by the strength. In the below example, we move from the right arrow moved close to the left one, resulting in only the darkest values being drawn. After that, three images with larger range, and underneath that, three ranges with the left arrow moved, result in the darkest values being cut away, leaving only the lightest. The last example is the pattern without cutoff.

Inversió del patró

Invert the pattern.

Brightness and Contrast

Novetat de la versió 3.3.1: Adjust the pattern with a simple brightness/contrast filter to make it easier to use. Because Subtract and Multiply work differently, it's recommended to use different values with each:

Intensitat

This allows you to set the texture to Sensors. It will use the cutoff to continuously draw lighter values of the texture (making the result darker)

Vegeu també

En David Revoy ens descriu la característica de la textura (antic) [http://www.davidrevoy.com/article107/textured-brush-in-floss-digital-painting]

Dockers

All of the panels that exist in Krita and what they do.

Add Shape

Advanced Color Selector

Animation Curves Docker

Animation Docker

Artist Color Selector Docker

Preset Docker

Channels

Color Sliders

Compositions

Digital Color Mixer

Grids and Guides Docker

Histogram Docker

Layers

LUT Management

Onion Skin Docker

Overview

Palette Docker

Patterns Docker

Reference Images Docker

Shape Properties Docker

Small Color Selector

Snap Settings

Specific Color Selector

Task Sets Docker

Timeline Docker

Touch Docker

Undo History

Vector Library

Add Shape

A docker for adding KOffice shapes to a Vector Layers.

Obsolet desde la versió 4.0: This got removed in 4.0, the Vector Library replacing it.

Advanced Color Selector

As compared to other color selectors in Krita, Advanced color selector provides more control and options to the user. To open Advanced color selector choose Settings ‣ Dockers ‣ Advanced Color Selector. You can configure this docker by clicking on the little wrench icon on the top left corner. Clicking on the wrench will open a popup window with following tabs and options:

Color Selector

Here you configure the main selector.

Type and Shape

Here you can pick the hsx model you'll be using. There's a small blurb explaining the characteristic of each model, but let's go into detail:

HSV

Stands for Hue, Saturation, Value. Saturation determines the difference between white, gray, black and the most colorful color. Value in turn measures either the difference between black and white, or the difference between black and the most colorful color.

HSL

Stands for Hue, Saturation, Lightness. All saturated colors are equal to 50% lightness. Saturation allows for shifting between gray and color.

HSI

This stands for Hue, Saturation and Intensity. Unlike HSL, this one determine the intensity as the sum of total rgb components. Yellow (1,1,0) has higher intensity than blue (0,0,1) but is the same intensity as cyan (0,1,1).

HSY'

Stands for Hue, Saturation, Luma, with Luma being an RGB approximation of true luminosity. (Luminosity being the measurement of relative lightness). HSY' uses the Luma Coefficients, like Rec 709 [http://en.wikipedia.org/wiki/Rec._709], to calculate the Luma. Due to this, HSY' can be the most intuitive selector to work with, or the most confusing.

Then, under shape, you can select one of the shapes available within that color model.

Nota

Triangle is in all color models because to a certain extent, it is a wildcard shape: All color models look the same in an equilateral triangle selector.

Luma Coefficients

This allows you to edit the Luma coefficients for the HSY model selectors to your leisure. Want to use Rec 601 [http://en.wikipedia.org/wiki/Rec._601] instead of Rec 709? These boxes allow you to do that!

By default, the Luma coefficients should add up to 1 at maximum.

Gamma

The HSY selector is linearised, this setting allows you to choose how much gamma is applied to the Luminosity for the gui element. 1.0 is fully linear, 2.2 is the default.

Color Space

This allows you to set the overall color space for the Advanced Color Selector.

Avís

You can pick only sRGB colors in advanced color selector regardless of the color space of advanced color selector. This is a bug.

Behaviour

When docker resizes

This determines the behavior of the widget as it becomes smaller.

Change to Horizontal

This'll arrange the shade selector horizontal to the main selector. Only works with the MyPaint shade selector

Hide Shade Selector

This hides the shade selector.

Do nothing

Does nothing, just resizes.

Zoom selector UI

If your have set the docker size considerably smaller to save space, this option might be helpful to you. This allows you to set whether or not the selector will give a zoomed view of the selector in a size specified by you, you have these options for the zoom selector:

when pressing middle mouse button

on mouse over

never

The size given here, is also the size of the Main Color Selector and the MyPaint Shade Selector when they are called with Shift + I and Shift + M, respectively.

Hide Pop-up on click

This allows you to let the pop-up selectors called with the above hotkeys to disappear upon clicking them instead of having to leave the pop-up boundary. This is useful for faster working.

Shade selector

Shade selector options. The shade selectors are useful to decide upon new shades of color.

Update Selector

This allows you to determine when the shade selector updates.

MyPaint Shade Selector

Ported from MyPaint, and extended with all color models. Default hotkey is Shift+ M

Simple Shade Selector

This allows you to configure the simple shade selector in detail.

Color Patches

This sets the options of the color patches.

Both Color History and Colors From the Image have similar options which will be explained below.

Show

This is a radio button to show or hide the section. It also determines whether or not the colors are visible with the advanced color selector docker.

Size

The size of the color boxes can be set here.

Patch Count

The number of patches to display.

Direction

The direction of the patches, Horizontal or Vertical.

Allow Scrolling

Whether to allow scrolling in the section or not when there are too many patches.

Number of Columns/Rows

The number of Columns or Rows to show in the section.

Update After Every Stroke

This is only available for Colors From the Image and tells the docker whether to update the section after every stroke or not, as after each stroke the colors will change in the image.

History patches

The history patches remember which colors you've drawn on canvas with. They can be quickly called with H

Common Patches

The common patches are generated from the image, and are the most common color in the image. The hotkey for them on canvas is U.

External Info

HSI and HSY for Krita’s advanced color selector. [http://wolthera.info/?p=726]

Animation Curves Docker

The Animation Curve docker allows you to edit tweened sections by means of interpolation curves. As of this time of writing, it can only edit opacity.

The idea is that sometimes what you want to animate can be expressed as a value. This allows the computer to do maths on the values, and automate tasks, like interpolation, also known as 'Tweening'. Because these are values, like percentage opacity, and animation happens over time, that means we can visualize the way the values are interpolated as a curve graph, and also edit the graph that way.

But, when you first open this docker, there's no curves visible! You will first need to add opacity keyframes to the active animation layer. You can do this by using the animation docker and selection Add new keyframe.

Opacity should create a bright red curve line in the docker. On the left, in the layer list, you will see that the active layer has an outline of its properties: A red Opacity has appeared. Pressing the red dot will hide the current curve, which'll be more useful in the future when more properties can be animated.

If you select a dot of the curve, you can move it around to shift its place in the time-line or its value.

On the top, you can select the method of smoothing:

Hold Value

This keeps the value the same until there's a new keyframe.

Linear Interpolation (Default)

This gives a straight interpolation between two values.

Custom interpolation

This allows you to set the section after the keyframe node as one that can be modified. mouseleft +dragging on the node allows you to drag out a handler node for adjusting the curving.

So, for example, making a 100% opacity keyframe on frame 0 and a 0% opacity one on frame 24 gives the following result:

If we select frame 12 and press Add New Keyframe a new opacity keyframe will be added on that spot. We can set this frame to 100% and set frame 0 to 0% for this effect.

Now, if we want easing in, we select the node on frame 0 and press the Custom Interpolation button at the top. This will enable custom interpolation on the curve between frames 0 and 12. Doing the same on frame 12 will enable custom interpolation between frames 12 and 24. Drag from the node to add a handle, which in turn you can use to get the following effects:

The above shows an ease-in curve.

And convex/concave examples:

As you may be able to tell, there's quite a different 'texture', so to speak, to each of these animations, despite the difference being only in the curves. Indeed, a good animator can get quite some tricks out of interpolation curves, and as we develop Krita, we hope to add more properties for you to animate this way.

Nota

Opacity has currently 255 as maximum in the curve editor, as that's how opacity is stored internally

Animation Docker

To have a playback of the animation, you need to use the animation docker.

The first big box represents the current Frame. The frames are counted with programmer's counting so they start at 0.

Then there are two boxes for you to change the playback range here. So, if you want to do a 10 frame animation, set the end to 10, and then Krita will cycle through the frames 0 to 10.

The bar in the middle is filled with playback options, and each of these can also be hot-keyed. The difference between a keyframe and a normal frame in this case is that a normal frame is empty, while a keyframe is filled.

Then, there's buttons for adding, copying and removing frames. More interesting is the next row:

Onion Skin

Opens the Onion Skin Docker if it wasn't open before.

Auto Frame Mode

Will make a frame out of any empty frame you are working on. Currently automatically copies the previous frame.

Drop frames

This'll drop frames if your computer isn't fast enough to show all frames at once. This process is automatic, but the icon will become red if it's forced to do this.

You can also set the speedup of the playback, which is different from the framerate.

Artist Color Selector Docker

A round selector that tries to give you the tools to select colors ramps efficiently.

Preference

Set the color model used by the selector, as well as the amount of segments.

Reset

Reset the selector to a default stage.

Absolute

This changes the algorithm around so it gives proper values for the gray. Without absolute, it'll use HSV values for gray to the corresponding hue and lightness.

Usage

mouseleft the swatches to change the foreground color. Use mouseright + Drag to shift the alignment of the selector swatches within a specific saturation ring. Use mouseleft + Drag to shift the alignment of all swatches.

This selector does not update on change of foreground color.

Preset Docker

This docker allows you to switch the current brush you're using, as well as tagging the brushes.

Just mouseleft on an icon to switch to that brush!

Tagging

mouseright a brush to add a tag or remove a tag.

Channels

The channel docker allows you to turn on and off the channels associated with the color space that you are using. Each channel has an enabled and disabled checkbox. You cannot edit individual layer channels from this docker.

Editing Channels

If you want to edit individual channels by their grayscale component, you will need to manually separate a layer. This can be done with a series of commands with the layer docker.

Select the layer you want to break apart.

Go to Image ‣ Separate Image

Select the following options and click OK:

Source: Current Layer

Alpha Options: Create separate separation from alpha channel

Output to Grayscale, not color: unchecked

Hide your original layer

Select All of the new channel layers and put them in a group layer (Layer ‣ Quick Group)

Select the Red layer and change the blending mode to "Copy Red" (these are in the Misc. category)

Select the Green layer and change the blending mode to "Copy Green"

Select the Blue layer and change the blending mode to "Copy Blue"

Make sure the Alpha layer is at the bottom of the group.

Enable Inherit Alpha for the Red, Green, and Blue layers.

Here is a video to see this process [https://www.youtube.com/watch?v=lWuwegJ-mIQ&feature=youtu.be] in Krita 3.0

When working with editing channels, it can be easier to use the Isolate Layer feature to only see the channel. Right-click on the layer to find Isolate Layer.

Color Sliders

Obsolet desde la versió 4.1: This docker has been removed in 4.1. It will return in some form in the future.

A small docker with Hue, Saturation and Lightness bars.

You can configure this docker via Settings ‣ Configure Krita ‣ Color Selector Settings ‣ Color Sliders.

There, you can select which sliders you would like to see added, allowing you to even choose multiple lightness sliders together.

Compositions

The compositions docker allows you to save the configurations of your layers being visible and invisible, allowing you to save several configurations of your layers.

Adding new compositions

You do this by setting your layers as you wish, then pressing the plus sign. If you had a word in the text-box to the left, this will be the name of your new composition.

Activating composition

Double-click the composition name to switch to that composition.

Removing compositions

The minus sign. Select a composition, and hit this button to remove it.

Exporting compositions

The file sign. Will export all checked compositions.

Updating compositions

mouseright a composition to overwrite it with the current configuration.

Rename composition

mouseright a composition to rename it.

Digital Color Mixer

This docker allows you to do simple mathematical color mixing.

It works as follows:

You have on the left side the current color.

Next to that there are six columns. Each of these columns consists of three rows: The lowest row is the color that you are mixing the current color with. Ticking this button allows you to set a different color using a palette and the mini-color wheel. The slider above this mixing color represent the proportions of the mixing color and the current color. The higher the slider, the less of the mixing color will be used in mixing. Finally, the result color. Clicking this will change your current color to the result color.

Grids and Guides Docker

The grids and guides docker replaces the Grid Tool in Krita 3.0.

This docker controls the look and the visibility of both the Grid and the Guides decorations. It also features a checkbox to quickly toggle snapping on or off.

Grids

Grids in Krita can currently only be orthogonal and diagonal. There is a single grid per canvas, and it is saved within the document. Thus it can be saved in a Plantilles.

Show Grid

Shows or hides the grid.

Snap to Grid

Toggles grid snapping on or off. This can also be achieved with Shift + S.

Type

The type of Grid

Rectangle

An orthogonal grid.

X and Y spacing

Sets the width and height of the grid in pixels.

Subdivision

Groups cells together as larger squares and changes the look of the lines it contains. A subdivision of 2 will make cells appear twice as big, and the inner lines will become subdivisions.

Isometric

A diagonal grid. Isometric doesn't support snapping.

Left and Right Angle

The angle of the lines. Set both angles to 30° for true isometric.

Cell spacing

Determines how much both sets of lines are spaced.

Grid Offset

Offsets the grid’s starting position from the top-left corner of the document, in pixels.

Main Style

Controls the look of the grid’s main lines.

Div Style

Controls the look of the grid’s “subdivision” lines.

The grid's base size is 64 pixels. With a subdivision of 2, the main grid lines are 128 px away from one another, and the intermediate lines have a different look.

Guides

Guides are horizontal and vertical reference lines. You can use them to place and align layers accurately on the canvas.

Creating Guides

To create a guide, you need both the rulers and the guides to be visible.

Rulers. (View ‣ Show Rulers)

Guides. (View ‣ Show Guides)

To create a guide, move your cursor over a ruler and drag in the direction of the canvas. A line will appear. Dragging from the left ruler creates a vertical guide, and dragging from the top ruler creates a horizontal guide.

Editing Guides

Place your cursor above a guide on the canvas. If the guides are not locked, your cursor will change to a double arrow. In that case, click and drag to move the guide. To lock and unlock the guides, open the Grid and Guides Docker. Ensure that the Guides tab is selected. From here you can lock the guides, enable snapping, and change the line style.

Nota

Currently, it is not possible to create or to move guides to precise positions. The only way to achieve that for now is to zoom in on the canvas, or to use the grid and snapping to place the guide.

Removing Guides

Click on the guide you want to remove and drag it outside of the canvas area. When you release your mouse or stylus, the guide will be removed.

Histogram Docker

A Histogram is a chart that shows how much of a specific channel value is used in an image. Its purpose is to give a really technical representation of the colors in an image, which can be helpful in decision making about filters.

The histogram docker was already available via Layers ‣ Histogram, but it's now a proper docker.

External Links:

Wikipedia's entry on image histograms [https://en.wikipedia.org/wiki/Image_histogram]

Layers

The Layers docker is for one of the core concepts of Krita: Layer Management. You can add, delete, rename, duplicate and do many other things to layers here.

The Layer Stack

You can select the active layer here. Using Shift and Ctrl you can select multiple layers and drag-and-drop them. You can also change the visibility, edit state, alpha inheritance and rename layers. You can open and close groups, and you can drag and drop layers, either to reorder them, or to put them in groups.

Name

The Layer name, just do double- mouseleft to make it editable, and press Enter to finish editing.

Label

This is a color that you can set on the layer. mouseright the layer to get a context menu to assign a color to it. You can then later filter on these colors.

Blending Mode

This will set the Modes de barreja of the layer.

Opacity

This will set the opacity of the whole layer.

Visibility

An eye-icon. Clicking this can hide a whole layer.

Edit State (Or layer Locking)

A lock Icon. Clicking this will prevent the layer from being edited, useful when handling large amounts of layers.

Alpha Lock

This will prevent the alpha of the layer being edited. In more plain terms: This will prevent the transparency of a layer being changed. Useful in coloring images.

Pass-through mode

Only available on Group Layers, this allows you to have the blending modes of the layers within affect the layers outside the group. Doesn't work with masks currently, therefore these have a strike-through on group layers set to pass-through.

Alpha Inheritance

This will use the alpha of all the peers of this layer as a transparency mask. For a full explanation see Introducció a les capes i les màscares.

Open or Close Layers

(An Arrow Icon) This will allow you to access sub-layers of a layer. Seen with masks and groups.

Onion Skin

This is only available on animated layers, and toggles the onion skin feature.

Layer Style

This is only available on layers which have a Layer Styles assigned. The button allows you to switch between on/off quickly.

To edit these properties on multiple layers at once, press the properties option when you have multiple layers selected or press F3. There, to change the names of all layers, the checkbox before Name should be ticked after which you can type in a name. Krita will automatically add a number behind the layer names. You can change other layer properties like visibility, opacity, lock states, etc. too.

Lower buttons

These are buttons for doing layer operations.

Add

Will by default add a new Paint Layer, but using the little arrow, you can call a sub-menu with the other layer types.

Duplicate

Will Duplicate the active layer(s). Can be quickly invoked with Ctrl + mouseleft + drag.

Move layer up.

Will move the active layer up. Will switch them out and in groups when coming across them.

Move layer down.

Will move the active layer down. Will switch them out and in groups when coming across them.

Layer properties.

Will open the layer properties window.

Delete

Will delete the active layer(s). For safety reasons, you can only delete visible layers.

Hot keys and Sticky Keys

Shift + Ctrl for selecting multiple layers.

Ctrl + mouseleft + drag - makes a duplicate of the selected layers, for you to drag and drop.

Ctrl + E for merging a layer down. This also merges selected layers, layer styles and will keep selection masks in tact. Using Ctrl + E on a single layer with a mask will merge down the mask into the layer.

Ctrl + Shift + E merges all layers.

R + mouseleft allows you to select layers on canvas, similar to picking colors directly on canvas. Use Shift + R + mouseleft for multiple layers.

Ins for adding a new layer.

Ctrl + G will create a group layer. If multiple layers are selected, they are put into the group layer.

Ctrl + Shift + G will quickly set-up a clipping group, with the selected layers added into the group, and a new layer added on top with alpha-inheritance turned on, ready for painting!

Ctrl + Alt + G will ungroup layers inside a group.

Alt + mouseleft on the thumbnail for isolated view of a layer. This will maintain between layers till the same action is repeated again.

Shift + mouseleft on the eye-icon for hiding all but the current layer.

Page Up and Page Down for switching between layers.

Ctrl + Page Up and Ctrl + Page Down will move the selected layers up and down.

LUT Management

The Look Up Table (LUT) Management docker controls the high dynamic range (HDR) painting functionality.

Use OpenColorIO

Use Open Color IO instead of Krita's internal color management. Open Color IO is a color management library. It is sometimes referred to as OCIO. This is required as Krita uses OCIO for its HDR functionality.

Color Engine

Choose the engine.

Configuration

Use an OCIO configuration file from your computer.

Nota

Some system locals don't allow you to read the configuration files. This is due to a bug in OCIO. If you are using Linux you can fix this. If you start Krita from the terminal with the LC_ALL=C krita flag set, you should be able to read the configuration files.

Input Color Space

What the color space of the image is. Usually sRGB or Linear.

Display Device

The type of device you are using to view the colors. Typically sRGB for computer screens.

View

--

Components

Allows you to study a single channel of your image with LUT.

Exposure

Set the general exposure. On 0.0 at default. There's Y to change this on the fly on canvas.

Gamma

Allows you to set the gamma. This is 1.0 by default. You can set this to change on the fly in canvas shortcuts.

Lock color

Locks the color to make sure it doesn't shift when changing exposure. May not be desired.

Set white and black points

This allows you to set the maximum and minimum brightness of the image, which'll adjust the exposure and gamma automatically to this.

Onion Skin Docker

To make animation easier, it helps to see both the next frame as well as the previous frame sort of layered on top of the current. This is called onion-skinning.

Basically, they are images that represent the frames before and after the current frame, usually colored or tinted.

You can toggle them by clicking the lightbulb icon on a layer that is animated (so, has frames), and isn’t fully opaque. (Krita will consider white to be white, not transparent, so don’t animated on an opaque layer if you want onion skins.)

The term onionskin comes from the fact that onions are semi-transparent. In traditional animation animators would make their initial animations on semitransparent paper on top of an light-table (of the special animators variety), and they’d start with so called keyframes, and then draw frames in between. For that, they would place said keyframes below the frame they were working on, and the light table would make the lines of the keyframes shine through, so they could reference them.

Onion-skinning is a digital implementation of such a workflow, and it’s very useful when trying to animate.

The slider and the button with zero offset control the master opacity and visibility of all the onion skins. The boxes at the top allow you to toggle them on and off quickly, the main slider in the middle is a sort of ‘master transparency’ while the sliders to the side allow you to control the transparency per keyframe offset.

Tint controls how strongly the frames are tinted, the first screen has 100%, which creates a silhouette, while below you can still see a bit of the original colors at 50%.

Previous and next frame allows you set the colors.

Overview

This docker allows you to see a full overview of your image. You can also use it to navigate and zoom in and out quickly. Dragging the view-rectangle allows you quickly move the view. Dragging the zoom-slider allows you quickly change the zoom.

Palette Docker

The palette docker displays various color swatches for quick use. Since 4.0, it also supports editing palettes and organizing colors into groups.

You can choose from various default palettes or you can add your own colors to the palette.

To choose from the default palettes click on the icon in the bottom left corner of the docker, it will show a list of pre-loaded color palettes. You can click on one and to load it into the docker, or click on import resources (folder icon) to load your own color palette. Creating a new palette can be done by filling out the name input, pressing Save and selecting your new palette from the list.

Selecting colors is done by mouseleft on a swatch.

Pressing the delete icon will remove the selected swatch or group. When removing a group, Krita will always ask whether you'd like to keep the swatches. If so, they will be added to the default group above.

Novetat de la versió 4.0.

Double mouseleft a swatch will call up the edit window where you can change the color, the name, the id and whether it's a spot color. On a group this will allow you to set the group name.

mouseleft drag will allow you to drag and drop swatches and groups to order them.

Pressing the + icon will allow you to add a new swatch.

Pressing the Folder icon will allow you to add a new group.

The edit and new color dialogs ask for the following:

Color

The color of the swatch.

Name

The Name of the color in a human readable format.

ID

The ID is a number that can be used to index colors. Where Name can be something like "Pastel Peach", ID will probably be something like "RY75".

Spot color

Currently not used for anything within Krita itself, but spot colors are a toggle to keep track of colors that represent a real world paint that a printer can match. Keeping track of such colors is useful in a printing workflow, and it can also be used with python to recognize spot colors.

If you find the size of color swatches too small, you can increase the size by hovering your mouse over the palette and scrolling while holding Ctrl.

Krita's native palette format is since 4.0 *.kpl. It also supports importing...

Gimp Palettes (.gpl)

Microsoft RIFF palette (.riff)

Photoshop Binary Palettes (.act)

PaintShop Pro palettes (.psp)

Photoshop Swatches (.aco)

Scribus XML (.xml)

Swatchbooker (.sbz).

Patterns Docker

This docker allows you to select the global pattern. Using the open-file button you can import patterns. Some common shortcuts are the following:

mouseright a swatch will allow you to set tags.

mouseleft a swatch will allow you to set it as global pattern.

Ctrl + Scroll you can resize the swatch sizes.

Reference Images Docker

Obsolet desde la versió 4.0: This docker was removed in Krita 4.0 due to crashes on Windows. The reference images tool in 4.1 replaces it.

This docker allows you to pick an image from outside of Krita and use it as a reference. Even better, you can pick colors from it directly.

The docker consists of two tabs: Browsing and Image.

Browsing

Browsing gives you a small file browser, so you can navigate to the map where the image you want to use as reference is located.

There's an image strip beneath the browser, allowing you to select the image which you want to use. Double click to load it in the Image tab.

Image

This tab allows you to see the images you selected, and change the zoom level. Clicking anywhere on the image will allow you to pick the merged color from it. Using the cross symbol, you can remove the icon.

Shape Properties Docker

Obsolet desde la versió 4.0: This docker is deprecated, and its functionality is folded into the Shape Edit Tool

This docker is only functional when selecting a rectangle or circle on a vector layer. It allows you to change minor details, such as the rounding of the corners of a rectangle, or the angle of the formula for the circle-shape.

Small Color Selector

This is Krita's most simple color selector. On the left there's a bar with the hue, and on the right a square where you can pick the value and saturation.

Snap Settings

Obsolet desde la versió 3.0: This docker has been removed in Krita 3.0. For more information on how to do this instead, consult the snapping page.

This is docker only applies for Vector Layers. Snapping determines where a vector shape will snap. The little number box is for snapping to a grid.

Node

For snapping to other vector nodes.

Extensions of Line

For snapping to a point that could have been part of a line, had it been extended.

Bounding Box

For snapping to the bounding box of a vector shape.

Orthogonal

For snapping to only horizontal or vertical lines.

Intersection

for snapping to other vector lines.

Guides

Guides don't exist in Krita, therefore this one is useless.

Specific Color Selector

The specific color selector allows you to choose specific colors within a color space.

Color Space Chooser

Fairly straightforward. This color space chooser allows you to pick the color space, the bit depth and the icc profile in which you are going to pick your color. Use the checkbox 'show color space selector' to hide this feature.

Sliders

These change per color space. If you chose 16bit float or 32 bit float, these will go from 0 to 1.0, with the decimals deciding the difference between colors.

Hex Color Selector

This is only available for the color spaces with a depth of 8 bit. This allows you to input hex color codes, and receive the RGB, CMYK, LAB, XYZ or YCrCb equivalent, and the other way around!

Task Sets Docker

Task sets are for sharing a set of steps, like a tutorial. You make them with the task-set docker.

Task sets can record any kind of command also available via the shortcut manager. It can not record strokes, like the macro recorder can. However, you can play macros with the tasksets!

The tasksets docker has a record button, and you can use this to record a certain workflow. Then use this to let items appear in the taskset list. Afterwards, turn off the record. You can then click any action in the list to make them happen. Press the 'Save' icon to name and save the taskset.

Timeline Docker

The Timeline Docker works in tandem with the Animation Docker at the heart of Krita's animation tools. While the Animation Docker provides access to the fundamental controls for playing back and editing animations, the Timeline Docker contains the layered frames and specific timings that define your animation. In other words, the Timeline Docker is the digital equivalent to a traditional animator's "dope sheet".

Legend:

A. Layer List -- This area contains some subset of the layers of your current document. The currently active layer is always shown and can be "pinned" to the timeline using the Show in Timeline menu action. Also, Layers that are created via the Timeline or added using the Add Existing Layer submenu are automatically pinned to the timeline. Each layer has properties that can also be toggled here (visible, locked, show onion skins, etc.).

Active Layer

A highlighted row in the table shows the current active layer. One can change which layer is active by clicking on the layer's name within the left header. It is not possible to change the active layer by clicking inside the table in order to not disturb the user when scrubbing and editing frame positions on the timeline.

B. Frame Table -- The Frame Table is a large grid of cells which can either hold a single frame or be empty. Each row of the Frame Table represents an animation layer and each column represents a frame timing. Just like the Layer List, the active layer is highlighted across the entire Frame Table. It's important to understand that frame timings are not based on units of time like seconds, but are based on frames which can then be played back at any speed, depending on the Animation Docker's frame rate and play speed settings.

Frames can be moved around the timeline by simply left-clicking and dragging from one frame to another slot, even across layers. Furthermore, holding Ctrl while moving creates a copy. Right-clicking anywhere in the Frame Table will bring up a helpful context menu for adding, removing, copying, and pasting frames or adjusting timing with holds.

Current Selection:

Frames highlighted in orange represent a selection or multiple selections, which can be created by mouse or keyboard. While multiple frames are selected, right-clicking anywhere in the Frame Table will bring up a context menu that will allow for adding or removing frames or holds within the current selection. Finally, it is also possible to have multiple non-contiguous/separate selections if needed.

Avís

Painting always happens only in the active frame (represented by a small dot), which is not necessarily part of your current selection.

Keys, Blanks, and Holds:

The Timeline Docker now shows us even more useful information about both what is there as well as what is not. Key frames which contain drawings are still displayed as filled blocks within a cell, while blank or empty key frames are shown as a hollow outline. In Krita, every drawn frame is automatically held until the next frame; these holds are now clearly shown with a colored line across all held frames. The color of frames can be set per-frame by the animator using the right-click menu, and is a matter of personal workflow.

C. Frame Timing Header -- The Frame Timing Header is a ruler at the top of the Frame Table. This header is divided into small notched sections which are based on the current frame rate (set in the Animation Docker). Integer multiples of the frame rate have a subtle double-line mark, while smaller subdivisions have small single-line marks. Each major notch is marked with a helpful frame number.

Cached Frames:

The Frame Timing Header also shows important information about which frames are currently cached. When something is said to be "cached", that means that it is stored in your device's working memory (RAM) for extra fast access. Cached frames are shown by the header with a small light-gray rectangle in each column. While this information isn't always critical for us artists, it's helpful to know that Krita is working behind the curtains to cache our animation frames for the smoothest possible experience when scrubbing through or playing back your animation.

D. Current Time Scrubber -- A highlighted column in the Frame Table which controls the current frame time and, as such, what is currently displayed in the viewport.

Active Frame:

A frame of the active layer at the current time position. The active frame is always marked with a small circle inside. All drawing, painting, and image editing operations happen on this frame only!

Avís

Don't mix the active frame up with the current selection!

E. Layer Menu -- A small menu for manipulating animation layers. You can create new layers, add or remove existing ones, and you can set 'Show in Timeline' here to pin the active layer to the Timeline. (This menu also shows up when right-clicking on layers inside of the Layer List.)

F. Audio Menu: Another small menu for animating along with audio sources. This is where you can open or close audio sources and control output volume/muting.

G. Zoom Handle: This allows you to zoom in and out on the Frame Table, centered around the current frame time. Click-dragging starting on the zoom handle controls the zoom level.

Usage:

How to use the Timeline Docker is not immediately obvious because Krita doesn't automatically create a key frame out of your initial drawing. In fact, until you make a key frame on a layer, Krita assumes that there's no animation going on at all on that layer and it will keep the image static over the whole animation.

So, to make our first animated layer, we need to make a key frame!

mouseright any square on the timeline docker and select Create Blank Frame. A blank frame (one that you haven't yet drawn anything in) appears as a hollow outline instead of a solid box, making that frame active and drawing on the canvas will make it appear as a solid, colored rectangle.

To keep a layer visible in the Timeline Docker regardless of which layer is selected, select the layer in the Layers Docker so it shows up in the docker, then mouseright it within the Timeline Docker's Layer List and select Show in Timeline. This way you can choose which layers are important and which are only minor.

You can drag and drop the frame around to a different empty frame slot.

To add a single new frame, either right-click on an empty frame slot and select Create Blank Frame to create a fresh blank frame, or select Create Duplicate Frame to create a new copy of the previous frame.

You can also change the color of frames so that you can easily identify important frames or distinguish between different sections of your animation. The current color selection is remembered for new frames so that you can easily make a set of colored frames and then switch to another color.

It's also possible to add multiple key frames by right-clicking inside the Frame Table and selecting Keyframes ‣ Insert Multiple Keyframes. With this option you can specify a number of frames to add with the option of built in timing for quickly creating a series of 1s, 2s, 3s, etc. These settings are saved between uses.

Instead of the Frame Table, right-clicking within the Frame Timing Header gives you access to a few more options which allow you to add or remove entire columns of frames or holds at a time. For example, selecting Keyframe Columns ‣ Insert Keyframe Column Left will add new frames to each layer that's currently visible in the Timeline Docker.

Krita only tracks key frame changes. This is unlike Flash where you have to manually indicate how long a key frame will hold. Instead, Krita just assumes that the space between key frame 1 and key frame 2 is supposed to be filled with key frame 1. Frames that are held in this way (a.k.a. "holds") are displayed as a continuous line in the Frame Table.

To delete frames, mouseright the frame and press Remove Keyframe. This will delete all selected frames. Similarly, selecting Remove Frame and Pull will delete the selected frames and pull or shift all subsequent frames back/left as much as possible.

To manually play your animation back and forward using your mouse, a concept called scrubbing, you click-drag within the Frame Timing Header.

GUI Actions:

Layer List

mouseleft : Select active layer.

mouseright : Layers Menu (add/remove/show layers, etc.).

Frame Timing Header

mouseleft : Move to time and select frame of the active layer.

mouseleft drag : Scrub through time and select frame of the active layer.

mouseright : Frame Columns Menu (insert/remove/copy/paste columns and hold columns).

Frames Table: all

mouseleft : Selects a single frame or slot and switches time, but does not switch active layer.

Space + mouseleft : Pan.

Space + mouseright : Zoom.

Frames Table (On Empty Slot).

mouseright : Frames menu (insert/copy/paste frames and insert/remove holds).

mouseleft + drag : Select multiple frames and switch time to the last selected, but does not switch active layer.

Shift + mouseleft : Select all frames between the active and the clicked frame.

Ctrl + mouseleft : Select individual frames together. click+drag them into place.

Frames Table (On Existing Frame)

mouseright : Frames menu (remove/copy/paste frames and insert/remove holds).

mouseleft + drag : Move a frame or multiple frames.

Ctrl + mouseleft drag : Copy a frame or multiple frames.

Alt + drag : Move selected frame(s) and all the frames to the right of it. (This is useful for when you need to clear up some space in your animation, but don't want to select all the frames to the right of a particular frame!)

Touch Docker

The Touch Docker is a QML docker with several convenient actions on it. Its purpose is to aid those who use Krita on a touch-enabled screen by providing bigger gui elements.

Its actions are...

Open File | Save File | Save As
Undo | Redo
Decrease Opacity
Increase Opacity
Increase Lightness
Decrease Lightness
| Zoom in |
Rotate Counter Clockwise 15° | Reset Canvas Rotation | Rotate Clockwise 15°
| Zoom out |
Decrease Brush Size
Increase Brush Size
Delete Layer Contents

Undo History

This docker allows you to quickly shift between undo states, and even go back in time far more quickly that rapidly reusing Ctrl + Z

..index:: Cumulate Undo

Cumulative Undo

mouseright an item in the undo-history docker to enable cumulative undo. mouseright again to change the parameters:

Start merging time

The amount of seconds required to consider a group of strokes to be worth one undo step.

Group time

According to this parameter -- groups are made. Every stroke is put into the same group till two consecutive strokes have a time gap of more than T seconds. Then a new group is started.

Split strokes.

A user may want to keep the ability of Undoing/Redoing his last N strokes. Once N is crossed -- the earlier strokes are merged into the group's first stroke.

Vector Library

The Vector Library Docker loads the symbol libraries in SVG files, when those SVG files are put into the "symbols" folder in the resource folder Settings ‣ Manage Resources ‣ Open Resource Folder.

The vector symbols can then be dragged and dropped onto the canvas, allowing you to quickly use complicated images.

Currently, you cannot make symbol libraries with Krita yet, but you can make them by hand, as well as use Inkscape to make them. Thankfully, there's quite a few svg symbol libraries out there already!

Dr. MinW Debugger

Nota

The information on this page applies only to the Windows release of Krita 3.1 Beta 3 (3.0.92) and later.

Getting a Backtrace

There are some additions to Krita which makes getting a backtrace much easier on Windows.

When there is a crash, Krita might appear to be unresponsive for a short time, ranging from a few seconds to a few minutes, before the crash dialog appears.

An example of the crash dialog

If Krita keeps on being unresponsive for more than a few minutes, it might actually be locked up, which may not give a backtrace. In that situation, you have to close Krita manually. Continue to follow the following instructions to check whether it was a crash or not.

Open Windows Explorer and type %LocalAppData% (without quotes) on the address bar and press Enter.

Find the file kritacrash.log (it might appear as simply kritacrash depending on your settings.)

Open the file with Notepad and scroll to the bottom, then scroll up to the first occurrence of “Error occurred on <time>” or the dashes.

Start of backtrace

Check the time and make sure it matches the time of the crash.

End of backtrace

The text starting from this line to the end of the file is the most recent backtrace.

If kritacrash.log does not exist, or a backtrace with a matching time does not exist, then you don’t have a backtrace. This means Krita was very likely locked up, and a crash didn’t actually happen. In this case, make a bug report too.

If the backtrace looks truncated, or there is nothing after the time, it means there was a crash and the crash handler was creating the stack trace before being closed manually. In this case, try to re-trigger the crash and wait longer until the crash dialog appears.

Nota

Starting from Krita 3.1 Beta 3 (3.0.92), the external DrMingw JIT debugger is not needed for getting the backtrace.

Using the Debug Package

Starting from 3.1 Beta 3, the debug package contains only the debug symbols separated from the executables, so you have to download the portable package separately too (though usually you already have it in the first place.)

Links to the debug packages should be available on the release announcement news item on https://krita.org/, along with the release packages. You can find debug packages for any release either in https://download.kde.org/stable/krita for stable releases or in https://download.kde.org/unstable/krita for unstable releases. Portable zip and debug zip are found next to each other.

Make sure you’ve downloaded the same version of debug package for the portable package you intend to debug / get a better (sort of) backtrace.

Extract the files inside the Krita install directory, where the sub-directories bin, lib and share is located, like in the figures below:

After extracting the files, check the bin dir and make sure you see the .debug dir inside. If you don't see it, you probably extracted to the wrong place.

Filters

Filters are little scripts or operations you can run on your drawing. You can visualize them as real-world camera filters that can make a photo darker or blurrier. Or perhaps like a coffee filter, where only water and coffee gets through, and the ground coffee stays behind.

Filters are unique to digital painting in terms of complexity, and their part of the painting pipeline. Some artists only use filters to adjust their colors a little. Others, using Filter Layers and Filter Masks use them to dynamically update a part of an image to be filtered. This way, they can keep the original underneath without changing the original image. This is a part of a technique called 'non-destructive' editing.

Filters can be accessed via the Filters menu. Krita has two types of filters: Internal and G'MIC filters.

Internal filters are often multithreaded, and can thus be used with the filter brush or the adjustment filters.

Adjust

Artistic

Blur

Color

Edge Detection

Emboss

Enhance

Map

Other

Wavelet Decompose

Adjust

The Adjustment filters are image-wide and are for manipulating colors and contrast.

Dodge

An image-wide dodge-filter. Dodge is named after a trick in traditional dark-room photography that gave the same results.

Shadows

The effect will mostly apply to dark tones.

Midtones

The effect will apply to mostly midtones.

Highlights

This will apply the effect on the highlights only.

Exposure

The strength at which this filter is applied.

Burn

An image-wide burn-filter. Burn is named after a trick in traditional dark-room photography that gave similar results.

Shadows

The effect will mostly apply to dark tones.

Midtones

The effect will apply to mostly midtones.

Highlights

This will apply the effect on the highlights only.

Exposure

The strength at which this filter is applied.

Levels

This filter allows you to directly modify the levels of the tone-values of an image, by manipulating sliders for highlights, midtones and shadows. You can even set an output and input range of tones for the image. A histogram is displayed to show you the tonal distribution. The default shortcut for levels filter is Ctrl + L .

This is very useful to do an initial cleanup of scanned lineart or grayscale images. If the scanned lineart is light you can slide the black triangle to right to make it darker or if you want to remove the gray areas you can slide the white slider to left.

Auto levels is a quick way to adjust tone of an image. If you want to change the settings later you can click on the Create Filter Mask button to add the levels as a filter mask.

Color Adjustment Curves

This filter allows you to adjust each channel by manipulating the curves. You can even adjust the alpha channel and the lightness channel through this filter. This is used very often by artists as a post processing filter to slightly heighten the mood of the painting by adjust the overall color. For example a scene with fire breathing dragon may be made more red and yellow by adjusting the curves to give it more warmer look, similarly a snowy mountain scene can be made to look cooler by adjusting the blues and greens. The default shortcut for this filter is Ctrl + M.

Canviat a la versió 4.1: Since 4.1 this filter can also handle Hue and Saturation curves.

Cross-channel color adjustment

Novetat de la versió 4.1.

Sometimes, when you are adjusting the colors for an image, you want bright colors to be more saturated, or have a little bit of brightness in the purples.

The Cross-channel color adjustment filter allows you to do this.

At the top, there are two drop-downs. The first one is to choose which Channel you wish to modify. The Driver Channel drop down is what channel you use to control which parts are modified.

The curve, on the horizontal axis, represents the driver channel, while the vertical axis represent the channel you wish to modify.

So if you wish to increase the saturation in the lighter parts, you pick Saturation in the first drop-down, and Lightness as the driver channel. Then, pull up the right end to the top.

If you wish to desaturate everything but the teal/blues, you select Saturation for the channel and Hue for the driver. Then put a dot in the middle and pull down the dots on either sides.

Brightness/Contrast curves

This filter allows you to adjust the brightness and contrast of the image by adjusting the curves.

Obsolet desde la versió 4.0: These have been removed in Krita 4.0, because the Color Adjustment filter can do the same. Old files with brightness/contrast curves will be loaded as Color Adjustment curves

Color Balance

This filter allows you to control the color balance of the image by adjusting the sliders for Shadows, Midtones and Highlights. The default shortcut for this filter is Ctrl + B .

Desaturate

Image-wide desaturation filter. Will make any image Grayscale. Has several choices by which logic the colors are turned to gray. The default shortcut for this filter is Ctrl + Shift + U .

Lightness

This will turn colors to gray using the HSL model.

Luminosity (ITU-R BT.709)

Will turn the color to gray by using the appropriate amount of weighting per channel according to ITU-R BT.709.

Luminosity (ITU-R BT.601)

Will turn the color to gray by using the appropriate amount of weighting per channel according to ITU-R BT.601.

Average

Will make an average of all channels.

Min

Subtracts all from one another to find the gray value.

Max

Adds all channels together to get a gray value

Invert

This filter like the name suggests inverts the color values in the image. So white (1,1,1) becomes black (0,0,0), yellow (1,1,0) becomes blue (0,1,1), etc. The default shortcut for this filter is Ctrl + I.

Auto Contrast

Tries to adjust the contrast the universally acceptable levels.

HSV/HSL Adjustment

With this filter, you can adjust the Hue, Saturation, Value or Lightness, through sliders. The default shortcut for this filter is Ctrl + U .

Threshold

A simple black and white threshold filter that uses sRGB luminosity. It'll convert any image to a image with only black and white, with the input number indicating the threshold value at which black becomes white.

Slope, Offset, Power

A different kind of color balance filter, with three color selectors, which will have the same shape as the one used in settings.

This filter is particular useful because it has been defined by the American Society for Cinema as "ASC_CDL", meaning that it is a standard way of describing a color balance method.

Slope

This represents a multiplication and determine the adjustment of the brighter colors in an image.

Offset

This determines how much the bottom is offset from the top, and so determines the color of the darkest colors.

Power

This represents a power function, and determines the adjustment of the mid-tone to dark colors of an image.

Artistic

The artistic filter are characterised by taking an input, and doing a deformation on them.

Halftone

The halftone filter is a filter that converts the colors to a halftone dot pattern.

Colors

The colors used to paint the pattern. The first is the color of the dots, the second the color of the background.

Size

The size of the cell in pixels. The maximum dot size will be using the diagonal as the cell size to make sure you can have pure black.

Angle

The angle of the dot pattern.

Invert

This inverts the intensity calculated per dot. Thus, dark colors will give tiny dots, and light colors big dots. This is useful in combination with inverting the colors, and give a better pattern on glowy-effects.

Anti-aliasing

This makes the dots smooth, which is good for webgraphics. Sometimes, for print graphics, we want there to be no grays, so we turn off the anti-aliasing.

Index Color

The index color filter maps specific user selected colors to the grayscale value of the artwork. You can see the example below, the strip below the black and white gradient has index color applied to it so that the black and white gradient gets the color selected to different values.

You can choose the required colors and ramps in the index color filter dialog as shown below

You can create index painting such as one shown below with the help of this filter

Pixelize

Makes the input-image pixely by creating small cells and inputting an average color.

Raindrops

Adds random raindrop-deformations to the input-image.

Oilpaint

Does semi-posterisation to the input-image, with the 'brush-size' determining the size of the fields.

Brush-size

Determines how large the individual patches are. The lower, the more detailed.

Smoothness

Determines how much each patch's outline is smoothed out.

Posterize

This filter decreases the amount of colors in an image. It does this per component (channel).

The Steps parameter determines how many colors are allowed per component.

Blur

The blur filters are used to smoothen out the hard edges and details in the images. The resulting image is blurry. below is an example of a blurred image. The image of Kiki on right is the result of blur filter applied to the image on left

There are many different filters for blurring:

Gaussian Blur

You can input the horizontal and vertical radius for the amount of blurring here.

Motion Blur

Doesn't only blur, but also subtly smudge an image into a direction of the specified angle thus giving a feel of motion to the image. This filter is often used to create effects of fast moving objects.

Blur

This filter creates a regular blur

Lens Blur

Lens Blur Algorithm.

Color

Similar to the Adjust filters, the color filters are image wide color operations.

Color to Alpha

This filter allows you to make one single color transparent (alpha). By default when you run this filter white is selected, you can choose a color that you want to make transparent from the color selector

The Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors. For example, with threshold set to 255, and the removed color set to white, a 50% gray will be considered a mixture of black+white, and thus transformed in a 50% transparent black.

This filter is really useful in separating line art from the white background.

Color Transfer

This filter converts the colors of the image to colors from the reference image. This is a quick way to change a color combination of an artwork to an already saved image or a reference image.

Maximize Channel

This filter checks for all the channels of a each single color and set all but the highest value to 0.

Minimize Channel

This is reverse to Maximize channel, it checks all the channels of a each single color and sets all but the lowest to 0.

Edge Detection

Edge detection filters focus on finding sharp contrast or border between colors in an image to create edges or lines.

Since 4.0 there are only two edge detection filters.

Edge Detection

Novetat de la versió 4.0.

A general edge detection filter that encapsulates all other filters. Edge detection filters that were separate before 4.0 have been folded into this one. It is also available for filter layers and filter brushes.

From left to right: Original, with prewitt edge detection applied, with prewitt edge detection applied and result applied to alpha channel, and finally the original with an edge detection filter layer with the same settings as 3, and the filter layer blending mode set to multiply

Formula

The convolution kernel formula for the edge detection. The difference between these is subtle, but still worth experimenting with.

Simple

A Kernel that is not square unlike the other two, and while this makes it fast, it doesn't take diagonal pixels into account.

Prewitt

A square kernel that includes the diagonal pixels just as strongly as the orthogonal pixels. Gives a very strong effect.

Sobol

A square kernel that includes the diagonal pixels slightly less strong than the orthogonal pixels. Gives a more subtle effect than Prewitt.

Output

The output.

All sides

Convolves the edge detection into all directions and combines the result with the Pythagorean theorem. This will be good for most uses.

Top Edge

This only detects changes going from top to bottom and thus only has top lines.

Bottom Edge

This only detects changes going from bottom to top and thus only has bottom lines.

Right Edge

This only detects changes going from right to left and thus only has right lines.

Left Edge

This only detects changes going from left to right and thus only has left lines.

Direction in Radians

This convolves into all directions and then tries to output the direction of the line in radians.

Horizontal/Vertical radius

The radius of the edge detection. Default is 1 and going higher will increase the thickness of the lines.

Apply result to Alpha Channel.

The edge detection will be used on a grayscale copy of the image, and the output will be onto the alpha channel of the image, meaning it will output lines only.

Height to Normal Map

Novetat de la versió 4.0.

A filter that converts Height maps to Normal maps through the power of edge detection. It is also available for the filter layer or filter brush.

Formula

The convolution kernel formula for the edge detection. The difference between these is subtle, but still worth experimenting with.

Simple

A Kernel that is not square unlike the other two, and while this makes it fast, it doesn't take diagonal pixels into account.

Prewitt

A square kernel that includes the diagonal pixels just as strongly as the orthogonal pixels. Gives a very strong effect.

Sobol

A square kernel that includes the diagonal pixels slightly less strong than the orthogonal pixels. Gives a more subtle effect than Prewitt.

Channel

Which channel of the layer should be interpreted as the grayscale heightmap.

Horizontal/Vertical radius

The radius of the edge detection. Default is 1 and going higher will increase the strength of the normal map. Adjust this if the effect of the resulting normal map is too weak.

XYZ

An XYZ swizzle, that allows you to map Red, Green and Blue to different 3d normal vector coordinates. This is necessary mostly for the difference between Mikkt-space normal maps (+X, +Y, +Z) and the OpenGL standard normal map (+X, -Y, +Z).

Emboss

Filters that are named by the traditional embossing technique. This filter generates highlight and shadows to create an effect which makes the image look like embossed. Emboss filters are usually used in the creation of interesting GUI elements, and mostly used in combination with filter-layers and masks.

Emboss Horizontal Only

Only embosses horizontal lines.

Emboss in all Directions

Embosses in all possible directions.

Emboss (Laplacian)

Uses the laplacian algorithm to perform embossing.

Emboss Vertical Only

Only embosses horizontal lines.

Emboss with Variable depth

Embosses with a depth that can be set through the dialog box shown below.

Emboss Horizontal and Vertical

Only embosses horizontal and vertical lines.

Enhance

These filters all focus on reducing the blur in the image by sharpening and enhancing details and the edges. Following are various sharpen and enhance filters in provided in Krita.

Sharpen

Mean Removal

Unsharp Mask

Gaussian Noise reduction

Wavelet Noise Reducer

Map

Filters that are signified by them mapping the input image.

Small Tiles

Tiles the input image, using its own layer as output.

Phong Bumpmap

Uses the input image as a height-map to output a 3d something, using the phong-lambert shading model. Useful for checking one's height maps during game texturing. Checking the Normal Map box will make it use all channels and interpret them as a normal map.

Round Corners

Adds little corners to the input image.

Normalize

This filter takes the input pixels, puts them into a 3d vector, and then normalizes (makes the vector size exactly 1) the values. This is helpful for normal maps and some minor image-editing functions.

Gradient Map

Maps the lightness of the input to the selected gradient. Useful for fancy artistic effects.

In 3.x you could only select predefined gradients. In 4.0, you can select gradients and change them on the fly, as well as use the gradient map filter as a filter layer or filter brush.

Other

Filters signified by them not fitting anywhere else.

Wave

Adds a cute little wave-distortion effect to the input image.

Random Noise

Gives Random Noise to input image.

Random Pick

Adds a little pixely-fringe to the input image.

Wavelet Decompose

Wavelet decompose uses wavelet scales to turn the current layer into a set of layers with each holding a different type of pattern that is visible within the image. This is used in texture and pattern making to remove unwanted noise quickly from a texture.

You can find it under Layers.

When you select it, it will ask for the amount of wavelet scales. More scales, more different layers. Press OK, and it will generate a group layer containing the layers with their proper blending modes:

Adjust a given layer with middle gray to neutralize it, and merge everything with the Grain Merge blending mode to merge it into the end image properly.

Instant Preview

Instant Preview (previously known under the code name Level Of Detail/LOD strokes) is Krita's special speed-up mechanism that was funded by the 2015 Kickstarter. Krita slows down with really large images due to the large amount of data it's crunching in painting these images. Instant Preview works by taking a smaller version of the canvas, and drawing the feedback on there while Krita calculates the real stroke in the background. This means that if you have a 4k screen and are working on a 4k image at 100% zoom, you won't feel any speed up.

Activating Instant Preview

Avís

Instant Preview requires OpenGL 3.0 support at minimum. So if you don't have high-quality scaling available in Settings ‣ Configure Krita ‣ Display ‣ Display scaling filter, then you won't be able to use Instant Preview either.

The Global Instant Preview toggle is under the view menu

Instant Preview is activated in two places: The view menu (Shift + L), and the settings of the given paintop by default. This is because Instant Preview has different limitations with different paint operations.

For example, the overlay mode in the color smudge brush will disable the ability to have Instant Preview on the brush, so does using 'fade' sensor for size.

Similarly, the auto-spacing, fuzzy sensor in size, use of density in brush-tip and the use of texture paintops will make it more difficult to determine a stroke, and thus will give a feeling of 'popping' when the stroke is finished.

When you check the brush settings, the Instant Preview checkbox will have a * behind it. Hovering over it will give you a list of options that are affecting the Instant Preview mode.

Novetat de la versió 4.0: mouseleft this pop-up will give a slider, which can be used to determine the threshold size at which instant preview activates. By default this 100px. This is useful for brushes that are optimised to work on small sizes.

The Instant Preview checkbox at the bottom of the brush settings editor will give you feedback when there's settings active that can't be previewed right. Hover over it to get more detail. In this case, the issue is that auto-spacing is on.

Tools that benefit from Instant Preview

The following tools benefit from Instant Preview:

The Freehand brush tool.

The geometric tools.

The Move Tool.

The Filters.

Animation.

Krita 4 Preset Bundle Overview

Krita comes with a large collection of brush presets. This collection was designed with many considerations:

Help the beginner and the advanced user with brushes that are ready-to-use.

Propose tools for the various ways Krita is used: Comic inking and coloring, Digital Painting, Mate Painting, Pixel Art, 3D texturing.

Show a sample of what the brush engines can do.

This page illustrates and describes the included default brush presets in Krita 4.

Erasers

The large one is for removing large portions of a layer (eg. a full character)

The small one is designed to use when drawing thin lines or inking. It has a very specific shape so you will notice with the square shape of your cursor you are in eraser-mode.

The soft one is used to erase or fade out the part of a drawing with various levels of opacity.

Basics

The basic brush family all use a basic circle for the brush tip with a variation on opacity, flow or size. They are named Basic because brushes of this type are the fundamental stones of every digital painting program. These brushes will work fast since they use simple properties.

Pencils

These presets tends to emulate the effect of pencil on paper. They all have a thin brush that uses a paper-texture. Some focus on being realistic to help with correcting a pencil scan. Some focus more on showing the effects on your computer monitor. The two last (Tilted/Quick Shade) assist the artist to obtain specific effects; like quickly shading a large area of the drawing without having to manually crosshatch a lot of lines.

Inking

For the black & white illustrator or the comic artist. The Inking brushes help you produce line art and high contrast illustrations.

Ink Precision: A thin line designed to take notes or draw tiny lines or details.

Ink Fineliner: A preset with a regular width to trace panels, technical details, or buildings.

Ink GPen: A preset with a dynamic on size to ink smoothly.

Ink Pen Rough: A preset for inking with a focus on having a realistic ink line with irregularities (texture of the paper, fiber of paper absorption).

Ink Brush Rough: A brush for inking with also a focus on getting the delicate paper texture appearing at low pressure, as if the brush slightly touch paper.

Ink Sumi-e: A brush with abilities at revealing the thin texture of each bristle, making the line highly expressive.

Markers

A small category with presets simulating a marker with a slight digital feeling to them.

Dry Painting

The Dry Painting category is full set of brushes that appear like bristles. They do not interact with the color already on the canvas; that's why they are called "dry". They work as if you were painting on a dry artwork: the color replace, or overlay/glaze over the previous painting stroke. This brush emulates techniques that dry quickly as tempera or acrylics.

Dry Painting Textured

Almost the same family as the previous one, except these brush presets lay down a textured effect. They simulate the painting effect you can obtain with very thick painting on a brush caressing a canvas with fabric texture. This helps to build painterly background or add life in the last bright touch of colors.

Chalk, Pastel and Charcoal

Still part of the dry family. These brushes focus on adding texture to the result. The type of texture you would obtain by using a dry tool such as chalk, charcoal or pastel and rubbing a textured paper.

Wet painting

This family of brushes is wet in a sense they all interact with the color on the canvas. It triggers the feeling of having a wet artwork and mixing color at the same time. The category has variations with bristle effects or simple rounded brushes.

Watercolors

Simulating real watercolors is highly complex. These brushes only partially simulate the watercolor texture. Don't expect crazy pigment diffusion because these brushes are not able to do that. These brushes are good at simulating a fringe caused by the pigments and various effects.

Blender

These brushes don't paint any colors. They interact with the color you already have on the canvas. Don't expect them to have any effect on a white page. All these presets give a different result with how they smudge or smear. It helps to blend colors, blur details, or add style on a painting. Smearing pixels can help with creating smoke and many other effects.

Adjustments

This family of airbrushes has variations on the blending modes. Different blending modes will give different results depending on the effect you are trying to achieve.

Color - Can help to re-color or desaturate a part of your artwork. It changes only the hue and saturation, not the value, of the pixels.

Dodge - Will assist you in creating effects such as neon or fire.

Lighten - Brightens only the area with the selected color: a good brush to paint depth of field (sfumato) and fog.

Multiply - Darkens all the time. A good brush to create a quick vignette effect around an artwork, or to manage big part in shadow.

Overlay - Burn helps to boost the contrast and overlay color on some areas.

Shapes

Painting with ready-made shapes can help concept artists create happy-accidents and stimulate the imagination. The Shape Fill tool is a bit specific: you can draw a silhouette of shape and Krita fills it in real time. Painting shapes over an area helps fill it with random details. This is useful before painting over with more specific objects.

Pixel

You might believe this section is specific to pixel-artist, but in many situations dealing with specific pixels are needed to make corrections and adjustments even on normal paintings. A thin 1px brush can be used to trace guidelines. A brush with aliasing is also perfect to fix the color island created by the Coloring-mask feature.

Experimental

When categorizing brushes, there is always a special or miscellaneous category. In this family of brushes you'll find the clone brush along with brushes to move, grow, or shrink specific areas.

Normal Map

Useful for 3D programs and texture artists. If your tablet supports tilting and rotation this brush will allow you to paint on your normal map using your brush rotation and orientation. You can "sculpt" your details in the texture with the different colors. Each color will map to an angle that is used for 3D lighting. It works well on pen-tablet display (tablet with a screen) as you can better sync the rotation and tilting of your stylus with the part of the normal map you want to paint.

Filters

Krita can apply many of its filters on a brush thanks to the filter brush engine. The result is usually not efficient and slow, but a good demo of the ability of Krita.

Textures

Adding textures is not only useful for the 3D artist or video-game artist: in many artworks you'll save a lot of time by using brushes with random patterns.

Stamps

The stamps are a bit similar to the texture category. Stamps often paint a pattern that is easier to recognize than if you tried to paint it manually. The results appear more as decorations than for normal painting methods.

Layers and Masks

Layers are a central concept in digital painting.

With layers you can get better control over your artwork, for example you can color an entire artwork just by working on the separate color layer and thereby not destroying the line art which will reside above this color layer.

Furthermore, layers allow you to change the composition easier, and mass transform certain elements at once.

Masks on the other hand allow you to selectively apply certain effects on a layer, like transparency, transformation and filters.

Check the Introducció a les capes i les màscares for more information.

Clone Layers

File Layers

Fill Layers

Filter Layer

Filter Masks

Group Layers

Layer Styles

Paint Layers

Selection Masks

Transformation Masks

Transparency Masks

Vector Layers

Clone Layers

A clone layer is a layer that keeps an up-to-date copy of another layer. You cannot draw or paint on it directly, but it can be used to create effects by applying different types of layers and masks (e.g. filter layers or masks).

Example uses of Clone Layers.

For example, if you were painting a picture of some magic person and wanted to create a glow around them that was updated as you updated your character, you could:

Have a Paint Layer where you draw your character

Use the Clone Layer feature to create a clone of the layer that you drew your character on

Apply an HSV filter mask to the clone layer to make the shapes on it white (or blue, or green etc.)

Apply a blur filter mask to the clone layer so it looks like a "glow"

As you keep painting and adding details, erasing on the first layer, Krita will automatically update the clone layer, making your "glow" apply to every change you make.

File Layers

File Layers are references to files outside of the document: If the referenced document updates, the file layer will update. Do not remove the original file on your computer once you add it to Krita. Deleting your original image will break the file layer. If Krita cannot find the original file, it'll ask you where to find it. File layers cannot display animations.

File Layers have the following scaling options:

No Scaling

This'll import the file layer with the full pixel-size.

Scale to Image Size

Scales the file layer to fit exactly within the canvas boundaries of the image.

Adapt to image resolution

If the imported layer and the image have a different resolution, it'll scale the filelayer by scaling its resolution. In other words, import a 600dpi A4 image onto a 300dpi A4 image, and the filelayer will be scaled to fit precisely on the 300dpi image. Useful for comics, where the ink-layer is preferred to be at a higher resolution than the colors.

File Layers can currently not be painted on. If you want to transform a file layer, you need to apply a transformation mask to it and use that.

Novetat de la versió 3.3: In the layerdocker, next to the file layer only, there's a little folder icon. Pressing that will open the file pointed at in Krita if it hadn't yet. Using the properties you can make the file layer point to a different file.

Novetat de la versió 4.0: You can turn any set of layers into a file layer by right-clicking them and doing Convert ‣ to File Layer. It will then open a save prompt for the file location and when done will save the file and replace the layer with a file layer pointing at that file.

Fill Layers

A Fill Layer is a special layer that Krita generates on-the-fly that can contain either a pattern or a solid color.

Pattern

This fills the layer with a predefined pattern or texture that has been loaded into Krita through the Resource Management interface. Patterns can be a simple and interesting way to add texture to your drawing or painting, helping to recreate the look of watercolor paper, linen, canvas, hardboard, stone or an infinite other number of options. For example if you want to take a digital painting and finish it off with the appearance of it being on canvas you can add a Fill Layer with the Canvas texture from the texture pack below and set the opacity very low so the "threads" of the pattern are just barley visible. The effect is quite convincing.

You can create your own and use those as well. For a great set of well designed and useful patterns check out one of our favorite artists and a great friend of Krita, David Revoy's free texture pack (http://www.davidrevoy.com/article156/texture-pack-1).

Color

The second option is not quite as exciting, but does the job. Fill the layer with a selected color.

Painting on a fill layer

A fill-layer is a single-channel layer, meaning it only has transparency. Therefore, you can erase and paint on fill-layers to make them semi-opaque, or for when you want to have a particular color only. Being single channel, fill-layers are also a little bit less memory-consuming than regular 4-channel paint layers.

Filter Layer

Filter layers show whatever layers are underneath them, but with a filter such as Layer Styles, Blur, Levels, Brightness / Contrast. For example, if you add a Filter Layer, and choose the Blur filter, you will see every layer under your filter layer blurred.

Unlike applying a filter directly on to a section of a Paint Layer, Filter Layers do not actually alter the original image in the Paint Layers below them. Once again, non-destructive editing! You can tweak the filter at any time, and the changes can always be altered or removed.

Unlike Filter Masks though, Filter Layers apply to the entire canvas for the layers beneath. If you wish to apply a filter layer to only some layers, then you can utilize the Group Layer feature and add those layers into a group with the filter layer on top of the stack.

You can edit the settings for a filter layer, by double clicking on it in the Layers docker.

Nota

Only Krita native filters (the ones in the Filters menu) can be used with Filter Layers. Filter Layers are not supported using the externally integrated G'Mic filters.

Filter Masks

Filter masks show an area of their layer with a filter (such as blur, levels, brightness / contrast etc.). For example, if you select an area of a paint layer and add a Filter Layer, you will be asked to choose a filter. If you choose the blur filter, you will see the area you selected blurred.

With filter masks, we can for example make this ghost-lady more ethereal by putting a clone layer underneath, and setting a lens-blur filter on it.

Set the blending mode of the clone layer to Color Dodge and she becomes really spooky!

Unlike applying a filter to a section of a paint layer directly, filter masks do not permanently alter the original image. This means you can tweak the filter (or the area it applies to) at any time. Changes can always be altered or removed.

Unlike filter layers, filter masks apply only to the area you have selected (the mask).

You can edit the settings for a filter mask at any time by double clicking on it in the Layers docker. You can also change the selection that the filter mask affects by selecting the filter mask in the Layers docker and then using the paint tools in the main window. Painting white includes the area, painting black excludes it, and all other colors are turned into a shade of gray which applies proportionally.

Group Layers

While working in complex artwork you'll often find the need to group the layers or some portions and elements of the artwork in one unit. Group layers come in handy for this, they allow you to make a segregate the layers, so you can hide these quickly, or so you can apply a mask to all the layers inside this group as if they are one, you can also recursively transform the content of the group... Just drag the mask so it moves to the layer. They are quickly made with Ctrl + G.

A thing to note is that the layers inside a group layer are considered separately when the layer gets composited, the layers inside a group are separately composited and then this image is taken in to account when compositing the whole image, while on the contrary, the groups in Photoshop have something called pass-through mode which makes the layer behave as if they are not in a group and get composited along with other layers of the stack. The recent versions of Krita have pass-through mode you can enable it to get similar behavior

Layer Styles

Layer styles are effects that are added on top of your layer. They are editable and can easily be toggled on and off. To add a layer style to a layer go to Layer ‣ Layer Style. You can also right-click a layer to access the layer styles.

When you have the layer styles window up, make sure that the Enable Effects item is checked.

There are a variety of effects and styles you can apply to a layer. When you add a style, your layer docker will show an extra "Fx" icon. This allows you to toggle the layer style effects on and off.

Nota

This feature was added to increase support for Adobe Photoshop. The features that are included mirror what that application supports.

Paint Layers

Paint layers are the most commonly used type of layers used in digital paint or image manipulation software like Krita. If you've ever used layers in Photoshop or the Gimp, you'll be used to how they work. In short, a paint layer, also called a pixel, bitmap or raster layer, is a bitmap image (an image made up of many points of color).

Paint layers let you apply many advanced effects such as smearing, smudging and distorting. This makes them the most flexible type of layer. However, paint layers don't scale well when enlarged (they pixelate), and any effects that have been applied can't be edited.

To deal with these two drawbacks, digital artists will typically work at higher Pixel Per Inch (PPI) counts. It is not unusual to see PPI settings of 400 to 600 PPI for a canvas with a good amount of detail. To combat the issue of applied effects that cannot be edited it is best to take advantage of the non-destructive layer capabilities of filter, transparency and transform masks.

As long as you have enough resolution / size on your canvas though, and as long as you aren't going to need to go back and tweak an effect you created previously, then a paint layer is usually the type of layer you will want. If you click on the New layer icon in the layers docker you'll get a paint layer. Of course you can always choose the New layer drop-down to get another type.

The hotkey for adding a new paint layer is Ins.

Selection Masks

Local Selection masks let you remember and recall edit a selection on a layer. They work in a similar way to extra channels in other image editing programs. One difference is Krita's ability to assign them to specific layers and activate a selection with a single click on the layer. Just click the round icon with the dotted outline on the local selection layer in the Layers docker.

You can make them by making a selection, and mouseright the layer you want to add it to select Local Selection

When isolating a selection mask with Alt + mouseleft, you can perform transformation, deformation and paint operations on the selection layer, modifying the selection.

A single layer can contain multiple Local Selection Masks. Repeating. A single layer can contain multiple Local Selection Masks (LSM). This is important because it means that you can, for instance, have several different outline parts of an image and save each as its own LSM and then recall it with a single click. Without using LSM you would have to create layer upon layer for each mask. Not only would this be inefficient for you but also for Krita and the program would slow down trying to keep up with it all. LSM's are one of the most important features in Krita!

The example below shows three LSM items all attached (under) Layer1. Any of these can be activated and used at any time.

Global Selection

You can modify the global selection the same way you can with a local-selection. To do so, you first need to activate the global selection as a layer node. To do so, go into Select ‣ Show Global Selection Mask. The global selection, if you have anything selected, will now appear on the top of the layer stack as a selection mask.

Transformation Masks

Rather than working with a brush to affect the mask, transformation masks allow you to transform (move, rotate, shear, scale and perspective) a layer without applying the transform directly to the paint layer and making it permanent.

In the same way that Filter and Transparency Masks can be attached to a Paint layer and are non-destructive, so too can the Transformation Mask.

Adding a Transformation Mask

First add a transform mask to an existing layer.

Select the transformation tool.

Select any of the transform modes in the Tools Options dock and, with the transform mask selected, apply them on the layer.

Hit apply.

Toggle the transform visibility to see the difference between the original and the transform applied.

Nota

Affine transforms, like Move, Rotate, Shear, Scale and Perspective get updated instantly once the original is updated. Other transforms like Warp, Cage and Liquify take up much more processing power, and to not to waste that, Krita only updates those every three seconds.

To edit a transform, select the transform mask, and try to use the transform tool on the layer. The transform mode will be the same as the stored transform, regardless of what transform you had selected. If you switch transform modes, the transformation will be undone.

Transparency Masks

The Transparency mask allows you to selectively show or hide parts of a layer. By using a mask, you are able to avoid deleting parts of an image that you just might want in the future. This allows you to work non-destructively.

In addition, it allows you to do things like remove a portion of a layer in the layer stack so you can see what's behind it. One example would be if you wanted to replace a sky, but were unsure of how much you wanted to replace.

How to add a transparency mask

Click on a paint layer in the layers docker.

Click on "+" drop-down in the bottom left corner of the layers docker and choose Transparency Mask.

Use your preferred paint tool to paint on the canvas. Black paints transparency (see-through), white paints opacity (visible). Gray values paint semi-transparency.

You can always fine-tune and edit what you want visible and any layer. If you discover you've hidden part of your paint layer accidentally, you can always show it again just by painting white on your transparency mask.

This makes for a workflow that is extremely flexible and tolerant of mistakes.

Vector Layers

Avís

This page is outdated. Check Gràfics vectorials for a better overview.

What is a Vector Layer?

A Vector Layers, also known as a shape layer, is a type of layers that contains only vector elements.

This is how vector layers will appear in the Krita Layers docker.

It shows the vector contents of the layer on the left side. The icon showing the page with the red bookmark denotes that it is a vector layer. To the right of that is the layer name. Next are the layer visibility and accessibility icons. Clicking the "eye" will toggle visibility. Clicking the lock into a closed position will lock the content and editing will no longer be allowed until it is clicked again and the lock on the layer is released.

Creating a vector layer

You can create a vector layer in two ways. Using the extra options from the "Add Layer" button you can click the "Vector Layer" item and it will create a new vector layer. You can also drag a rectangle or ellipse from the Add shape dock onto an active Paint Layer. If the active layer is a Vector Layer then the shape will be added directly to it.

Editing Shapes on a Vector Layer

Avís

There's currently a bug with the vector layers that they will always consider themselves to be at 72dpi, regardless of the actual pixel-size. This can make manipulating shapes a little difficult, as the precise input will not allow cm or inch, even though the vector layer coordinate system uses those as a basis.

Basic Shape Manipulation

To edit the shape and colors of your vector element, you will need to use the basic shape manipulation tool.

Once you have selected this tool, click on the element you want to manipulate and you will see guides appear around your shape.

There are four ways to manipulate your image using this tool and the guides on your shape.

Transform/Move

This feature of the tool allows you to move your object by clicking and dragging your shape around the canvas. Holding Ctrl will lock your moves to one axis.

Size/Stretch

This feature of the tool allows you to stretch your shape. Selecting a midpoint will allow stretching along one axis. Selecting a corner point will allow stretching across both axis. Holding Shift will allow you to scale your object. Holding Ctrl will cause your manipulation to be mirrored across your object.

Rotate

This feature of the tool will allow you to rotate your object around its center. Holding Ctrl will cause your rotation to lock to 45 degree angles.

Skew

This feature of the tool will allow you to skew your object.

Nota

At the moment there is no way to scale only one side of your vector object. The developers are aware that this could be useful and will work on it as manpower allows.

Point and Curve Shape Manipulation

Double-click on a vector object to edit the specific points or curves which make up the shape. Click and drag a point to move it around the canvas. Click and drag along a line to curve it between two points. Holding Ctrl will lock your moves to one axis.

Stroke and Fill

In addition to being defined by points and curves, a shape also has two defining properties: Fill and Stroke. Fill defines the color, gradient, or pattern that fills the space inside of the shape object. 'Stroke' defines the color, gradient, pattern, and thickness of the border along the edge of the shape. These two can be edited using the Stroke and Fill dock. The dock has two modes. One for stroke and one for fill. You can change modes by clicking in the dock on the filled square or the black line. The active mode will be shown by which is on top of the other.

Here is the dock with the fill element active. Notice the red line across the solid white square. This tells us that there is no fill assigned therefore the inside of the shape will be transparent.

Here is the dock with the stroke element active.

Editing Stroke Properties

The stroke properties dock will allow you to edit a different aspect of how the outline of your vector shape looks.

The style selector allows you to choose different patterns and line styles. The width option changes the thickness of the outline on your vector shape. The cap option changes how line endings appear. The join option changes how corners appear.

The Miter limit controls how harsh the corners of your object will display. The higher the number the more the corners will be allowed to stretch out past the points. Lower numbers will restrict the stroke to shorter and less sharp corners.

Editing Fill Properties

All of the fill properties are contained in the Stroke and Fill dock.

The large red X button will set the fill to none causing the area inside of the vector shape to be transparent.

To the right of that is the solid square. This sets the fill to be a solid color which is displayed in the long button and can be selected by pressing the arrow just to the right of the long button. To the right of the solid square is the gradient button. This will set the fill to display as a gradient. A gradient can be selected by pressing the down arrow next to the long button.

Under the X is a button that shows a pattern. This inside area will be filled with a pattern. A pattern can be chosen by pressing the arrows next to the long button. The two other buttons are for fill rules: the way a self-overlapping path is filled.

The button with the inner square blank toggles even-odd mode, where every filled region of the path is next to an unfilled one, like this:

The button with the inner square filled toggles non zero mode, where most of the time a self overlapping path is entirely filled except when it overlaps with a sub-path of a different direction that 'decrease the level of overlapping' so that the region between the two is considered outside the path and remain unfilled, like this:

For more (and better) information about fill rules check the Inkscape manual [http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Attributes-Fill-Stroke.html#Attributes-Fill-Rule].

Linux Command Line

As a native Linux program, Krita allows you to do operations on images without opening the program when using the Terminal. This option was disabled on Windows and OSX, but with 3.3 it is enabled for them!

This is primarily used in bash or shell scripts, for example, to mass convert kra files into pngs.

Export

This allows you to quickly convert files via the terminal:

krita importfilename --export --export-filename exportfilename

importfilename

Replace this with the filename of the file you want to manipulate.

--export

Export a file selects the export option.

--exportfilename

Exportfilename says that the following word is the filename it should be exported to.

Replace this with the name of the output file. Use a different extension to change the file format.

Example:

krita file.png --export --export-filename final.jpg

This piece of code takes the file file.png and saves it as final.jpg.

PDF export

Pdf export looks a bit different, using the --export-pdf option.

krita file.png --export-pdf --export-filename final.pdf

export-pdf exports the file file.png as a pdf file.

Avís

This has been removed from 3.1 because the results were incorrect.

Open with Custom Screen DPI

Open Krita with specified Screen DPI.

--dpi <dpiX,dpiY>

Open Krita with specified Screen DPI.

For example:

krita --dpi <72,72>

Open template

Open krita and automatically open the given template(s). This allows you to, for example, create a shortcut to Krita that opens a given template, so you can get to work immediately!

krita --template templatename.desktop

--template templatename.desktop

Selects the template option

All templates are saved with the .desktop extension. You can find templates in the .local/share/krita/template or in the install folder of Krita.

krita --template BD-EuroTemplate.desktop

This opens the European BD comic template with Krita.

krita --template BD-EuroTemplate.desktop BD-EuroTemplate.desktop

This opens the European BD template twice, in separate documents.

Start up

--nosplash

starts krita without showing the splash screen.

--canvasonly

starts krita in canvasonly mode.

--fullscreen

starts krita in fullscreen mode.

--workspace Workspace

starts krita with the given workspace. So for example...

`` krita --workspace Animation``

Starts Krita in the Animation workspace.

La llista de tauletes acceptades

Això és específic sobre el suport a Windows, no a Linux o OSX.

Marca | Model | Compatible
Adesso | CyberTablet T12 | ? Desconegut
Adesso | CyberTablet Z12 | ? Desconegut
Adesso | CyberTablet T10 | ? Desconegut
Adesso | CyberTablet T22HD | ? Desconegut
Adesso | CyberTablet M14 | ? Desconegut
Adesso | CyberTablet W10 | ? Desconegut
Adesso | CyberTablet Z8 | ✔️ Se suposa que funciona
Aiptek | HyperPen Mini | ? Desconegut
Aiptek | MediaTablet 10000u | ? Desconegut
Aiptek | MediaTablet 14000u | ? Desconegut
Aiptek | MediaTablet Ultimate II | ? Desconegut
Aiptek | MyNote Bluetooth | ? Desconegut
Aiptek | MyNote Pen | ? Desconegut
Aiptek | SlimTablet 600u Premium II | ? Desconegut
Artisul | (by UC-Logic)D13 | ❌ S'ha informat que no funciona
Artisul | (by UC-Logic)D10 | ❌ S'ha informat que no funciona
Artisul | (by UC-Logic)Pencil (S/M) | ❌ S'ha informat que no funciona
Bosto | 22HDX | ❌ S'ha informat que està trencat
Bosto | 22UX | ❌ S'ha informat que està trencat
Bosto | 22HD Mini | ❌ S'ha informat que està trencat
Bosto | 22U Mini | ? Desconegut
Bosto | 14WX | ? Desconegut
Bosto | 13HD | ? Desconegut
CalComp | DrawingBoard VI | ? Desconegut
CalComp | Creation Station | ? Desconegut
CalComp | SummaSketch | ? Desconegut
Dynalink | FreeDraw 4x5 | ? Desconegut
Elmo | CRA-1 wireless tablet | ? Desconegut
Gaomon | S56K | ? Desconegut
Gaomon | GM185 | ? Desconegut
Gaomon | M10K | ? Desconegut
Gaomon | P1560 | ✔️ Se suposa que funciona
Genius | EasyPen | ? Desconegut
Genius | EasyPen 340 | ? Desconegut
Genius | EasyPen F610E | ? Desconegut
Genius | EasyPen i405 | ? Desconegut
Genius | EasyPen i405X | ❓ S'ha informat que funcionava en Linux només per a versions 2.9.x
Genius | EasyPen i405XE | ? Desconegut
Genius | EasyPen M406 | ? Desconegut
Genius | EasyPen M406W | ? Desconegut
Genius | EasyPen M406WE | ? Desconegut
Genius | EasyPen M406XE | ? Desconegut
Genius | EasyPen M506 | ? Desconegut
Genius | EasyPen M506A | ? Desconegut
Genius | EasyPen M508W | ? Desconegut
Genius | EasyPen M610 | ❌ S'ha informat que està trencat
Genius | EasyPen M610X | ? Desconegut
Genius | EasyPen M610XA | ? Desconegut
Genius | G-Pen 340 | ? Desconegut
Genius | G-Pen 450 | ? Desconegut
Genius | G-Pen 560 | ? Desconegut
Genius | G-Pen F350 | ? Desconegut
Genius | G-Pen F509 | ? Desconegut
Genius | G-Pen F610 | ? Desconegut
Genius | G-Pen M609 | ? Desconegut
Genius | G-Pen M609X | ? Desconegut
Genius | G-Pen M712 | ? Desconegut
Genius | G-Pen M712X | ? Desconegut
Genius | MousePen 8x6 | ? Desconegut
Genius | MousePen i608 | ? Desconegut
Genius | MousePen i608X | ? Desconegut
Genius | MousePen i608XE | ? Desconegut
Genius | MousePen M508 | ? Desconegut
Genius | MousePen M508W | ? Desconegut
Genius | MousePen M508X | ? Desconegut
Genius | MousePen M508XA | ? Desconegut
Genius | PenSketch 9x12 | ? Desconegut
Genius | PenSketch M912 | ❌ S'ha informat que està trencat
Genius | PenSketch T609A | ? Desconegut
Genius | WizardPen 5x4 | ? Desconegut
Hanvon | ESP2210 | ? Desconegut
Hanvon | HW-S05 | ? Desconegut
Hanvon | Sell T&Mouse | ? Desconegut
Hanvon | Sell Writing Tablet (SuperPen 0403) | ? Desconegut
Hanvon | Sell Writing Tablet (SuperPen 0503) | ? Desconegut
Hanvon | Sell Painting Master (0504) | ? Desconegut
Hanvon | Sell Painting Master (0605) | ? Desconegut
Hanvon | Sell Painting Master (0806) | ❌ S'ha informat que està trencat
Huion / Turcom | H420 | ✔️ Se suposa que funciona
Huion / Turcom | W58 | ✔️ Se suposa que funciona
Huion / Turcom | 680TF | ✔️ Se suposa que funciona
Huion / Turcom | G10T | ✔️ Se suposa que funciona
Huion / Turcom | H610 | ✔️ Acceptada
Huion / Turcom | H610PRO | ✔️ Acceptada
Huion / Turcom | H690 | ✔️ Se suposa que funciona
Huion / Turcom | WH1409 | ✔️ Acceptada
Huion / Turcom | 1060Plus | ✔️ Se suposa que funciona
Huion / Turcom | New 1060Plus | ✔️ Se suposa que funciona
Huion / Turcom | K26 | ✔️ Se suposa que funciona
Huion / Turcom | K58 | ✔️ Se suposa que funciona
Huion / Turcom | W58 | ✔️ Se suposa que funciona
Huion / Turcom | 680S | ✔️ Se suposa que funciona
Huion / Turcom | P608N | ✔️ Se suposa que funciona
Huion / Turcom | H58L | ✔️ Se suposa que funciona
Huion / Turcom | DWH96 | ✔️ Se suposa que funciona
Huion / Turcom | G-T156HD (KAMVAS) | ✔️ Se suposa que funciona
Huion / Turcom | GT-185 | ✔️ Se suposa que funciona
Huion / Turcom | GT-190 | ✔️ Se suposa que funciona
Huion / Turcom | GT-191 (KAMVAS) | ❓ S'ha informat que funciona amb un controlador d'espai d'usuari experimental [https://github.com/benthor/HuionKamvasGT191LinuxDriver]
Huion / Turcom | GT-220 | ✔️ Se suposa que funciona
Huion / Turcom | PC185HD | ✔️ Acceptada
Huion / Turcom | PC2150 | ✔️ Se suposa que funciona
Huion / Turcom | Inspiroy Q11K | ✔️ Acceptada
KB Gear | JamStudio | ? Desconegut
KB Gear | Pablo Internet Edition | ? Desconegut
KB Gear | Sketchboard Studio | ? Desconegut
Microsoft | Surface Pro, Surface Pro 2 | ✔️ Acceptada
Microsoft | Surface Pro 3, Surface Pro 4, Surface Studio, Surface Pro (2017), Surface Laptop | ✔️ Acceptada
Monoprice | 8x6" | ? Desconegut
Monoprice | MP1060-HA60 (10x6.25") | ? Desconegut
Monoprice | 10x6.25" (110594) | ? Desconegut
Monoprice | 8x6" MP Select Professional | ? Desconegut
Monoprice | "8x6"" MP Select Professional with Quick Select Wheel" | ? Desconegut
Monoprice | 12x9" (106815) | ❓ S'ha informat que funciona amb alguns problemes
Monoprice | MP 22-inch (114481) | ? Desconegut
Parblo | A610 | ❌ S'ha informat que està trencat
Parblo | Bay B960 | ? Desconegut
Parblo | GT19 | ? Desconegut
Parblo | GT22HD | ? Desconegut
Parblo | Coast22 | ? Desconegut
Parblo | Coast10 | ? Desconegut
Parblo | Island A609 | ❓ S'ha informat que funciona, però la tauleta és de baixa qualitat i no es recomana.
PenPower | TOOYA Master | ? Desconegut
PenPower | TOOYA X | ? Desconegut
PenPower | Monet | ? Desconegut
PenPower | Picasso | ? Desconegut
Perixx | Peritab-502EVO | ? Desconegut
Perixx | Peritab 502 | ? Desconegut
Perixx | Peritab 302 | ? Desconegut
Samsung | Galaxy Book | ✔️ Acceptada
Trust | Flex Design | ? Desconegut
Trust | Slimline Widescreen | ❌ S'ha informat que està trencat
Trust | Slimline Sketch | ? Desconegut
Trust | Slimline Mini | ? Desconegut
Trust | TB2100 | ? Desconegut
Trust | TB3100 | ? Desconegut
Turcom / Huion | Interactive Pen Display | ✔️ Se suposa que funciona
Turcom / Huion | TS-6608 | ✔️ Se suposa que funciona
Turcom / Huion | TS-6580B Pro | ✔️ Se suposa que funciona
Turcom / Huion | TS-6580W Pro | ✔️ Se suposa que funciona
Turcom / Huion | TS-6610H Professional Wide | ✔️ Se suposa que funciona
Turcom / Huion | TS-690 | ✔️ Se suposa que funciona
Turcom / Huion | TS-680 | ✔️ Se suposa que funciona
Turcom / Huion | TS-6540 | ✔️ Se suposa que funciona
UC-Logic / Digipro | DigiPro WP4030 | ? Desconegut
UC-Logic / Digipro | WP806U | ? Desconegut
Ugee | HK1060pro | ? Desconegut
Ugee | HK1560 | ? Desconegut
Ugee | UG-1910B | ? Desconegut
Ugee | UG-2150 | ❓ S'ha informat que funciona amb els nous controladors alliberats el gener de 2018
Ugee | EX05 | ? Desconegut
Ugee | EX07 | ? Desconegut
Ugee | G3 | ❓ S'ha informat que funciona al Windows 7
Ugee | G5 | ❓ Funciona a Windows amb els controladors oficials instal·lats. Actualment no hi ha cap controlador disponible sota Linux.
Ugee | M504 | ? Desconegut
Ugee | M708 | ❌ S'ha informat que està trencat, traços connectats
Ugee | M6370 | ? Desconegut
Ugee | M1000L | ❌ S'ha informat que està trencat
Ugee | Chocolate | ? Desconegut
Ugee | CV720 | ? Desconegut
Ugee | Rainbow 3 | ? Desconegut
VisTablet | Mini | ? Desconegut
VisTablet | Mini Plus | ? Desconegut
VisTablet | VT Original | ? Desconegut
VisTablet | Realm Pro | ? Desconegut
VisTablet | Realm Graphic | ? Desconegut
VisTablet | VT 12" Touch | ? Desconegut
Wacom | Intuos Draw | ✔️ Se suposa que funciona
Wacom | Intuos Art | ✔️ Se suposa que funciona
Wacom | Intuos Photo | ✔️ Se suposa que funciona
Wacom | Intuos Comic | ✔️ Se suposa que funciona
Wacom | Intuos 3D | ✔️ Se suposa que funciona
Wacom | Intuos Pro (S/M/L) | ✔️ Se suposa que funciona
Wacom | Intuos Pro Paper | ✔️ Se suposa que funciona
Wacom | Cintiq Pro 13 | ✔️ Se suposa que funciona
Wacom | Cintiq Pro 16 | ✔️ Se suposa que funciona
Wacom | Cintiq 13HD | ✔️ Se suposa que funciona
Wacom | Cintiq 22HD | ✔️ Se suposa que funciona
Wacom | Cintiq 22HD Touch | ✔️ Se suposa que funciona
Wacom | Cintiq 27 QHD | ✔️ Se suposa que funciona
Wacom | Cintiq 27 QHD Touch | ✔️ Se suposa que funciona
Wacom | Cintiq Companion | ✔️ Se suposa que funciona
Wacom | Cintiq Companion 2 | ✔️ Se suposa que funciona
Wacom | Cintiq Companion Hybrid | ✔️ Acceptada
Wacom | MobileStudio Pro 13 | ✔️ Acceptada
Wacom | MobileStudio Pro 16 | ✔️ Acceptada
Wacom | Intuos 5 | ✔️ Acceptada
Wacom | Intuos 4 | ✔️ Acceptada
Wacom | Intuos 3 | ✔️ Acceptada
Wacom | Intuos 2 (XD) | ✔️ Se suposa que funciona
Wacom | Cintiq 12WX | ✔️ Se suposa que funciona
Wacom | Cintiq 24HD | ✔️ Se suposa que funciona
Wacom | Bamboo Create | ✔️ Se suposa que funciona
Wacom | Bamboo Capture | ✔️ Se suposa que funciona
Wacom | Bamboo Connect | ✔️ Se suposa que funciona
Wacom | Bamboo Splash | ✔️ Se suposa que funciona
Wacom | Bamboo CTL | ✔️ Se suposa que funciona
Wacom | Bamboo CTH | ✔️ Se suposa que funciona
Wacom | Bamboo CTE | ✔️ Se suposa que funciona
Wacom | Bamboo One | ✔️ Se suposa que funciona
Wacom | Cintiq20 (DTZ) | ✔️ Se suposa que funciona
Wacom | Cintiq21 | ✔️ S'ha informat que funciona
Wacom | Intuos (GD) | ✔️ Se suposa que funciona
Wacom | Graphire2 | ✔️ Se suposa que funciona
Wacom | Graphire (ET) | ✔️ Se suposa que funciona
Waltop | Venus M | ? Desconegut
Waltop | Media | ? Desconegut
Waltop | Q-Pad | ? Desconegut
XP Pen | Artist 16 | ✔️ Se suposa que funciona
XP Pen | Artist 22 | ✔️ Se suposa que funciona
XP Pen | Artist 22E | ✔️ Se suposa que funciona
XP Pen | Artist Display 10S | ✔️ Se suposa que funciona
XP Pen | Star 05 Wireless | ✔️ Funciona amb el controlador Star 04
XP Pen | Star G540 Game Play | ? Desconegut
XP Pen | Star G430 Game Play | ✔️ Se suposa que funciona
XP Pen | Star 04 Flash Memory | ? Desconegut
XP Pen | Star 03 Express Keys | ✔️ Funciona
XP Pen | Star 02 Touch Hot Keys | ? Desconegut
XP Pen | Star 01 Pen Tablet | ? Desconegut
Yiynova | SP 1001 (UC-Logic) | ? Desconegut
Yiynova | MVP10U | ✔️ Acceptada
Yiynova | MVP10U HD | ✔️ Se suposa que funciona
Yiynova | MVP10U HD+IPS | ✔️ Se suposa que funciona
Yiynova | DP10U+ | ✔️ Se suposa que funciona
Yiynova | DP10U | ✔️ Se suposa que funciona
Yiynova | DP10 | ✔️ Se suposa que funciona
Yiynova | DP10S | ✔️ Se suposa que funciona
Yiynova | DP10HD | ✔️ Se suposa que funciona
Yiynova | MSP15 | ✔️ Se suposa que funciona
Yiynova | MSP19 | ✔️ Se suposa que funciona
Yiynova | MSP19U | ✔️ Se suposa que funciona
Yiynova | MSP19U+ | ✔️ Se suposa que funciona
Yiynova | MSP19U+ (V5) | ✔️ Se suposa que funciona
Yiynova | MVP22U+IPS (V3) | ✔️ Se suposa que funciona
Yiynova | MVP20U+RH | ✔️ Se suposa que funciona
Yiynova | MVP22U+DT | ✔️ Se suposa que funciona
Yiynova | MVP22U+RH | ✔️ Se suposa que funciona
Yiynova | MJP19 | ✔️ Se suposa que funciona
Yiynova | MKP19 | ✔️ Se suposa que funciona
Yiynova | YA20HD | ✔️ Se suposa que funciona

Vegeu també

Pàgines que potser voldreu comprovar:

El tema de suport del Krita per en Huion es troba a DeviantArt [https://huion.deviantart.com/journal/Problem-with-Krita-Come-On-In-439442607]

Llistat de models i marques de tauletes [https://digimend.github.io/tablets/]

Main Menu

A list of all of main menu actions and a short description on what they do.

Edit

File Menu

Help Menu

Image Menu

Layers

Select Menu

Setting Menu

Tools Menu

View Menu

Window Menu

Edit

Undo

Undoes the last action. Ctrl + Z

Redo

Redoes the last undone action. Ctrl + Shift+ Z

Cut

Cuts the selection or layer. Ctrl + X

Copy

Copies the selection or layer. Ctrl + C

Cut (Sharp)

This prevents semi-transparent areas from appearing on your cut pixels, making them either fully opaque or fully transparent.

Copy (Sharp)

Same as Cut (Sharp) but then copying instead.

Copy Merged

Copies the selection over all layers. Ctrl + Shift + C

Paste

Pastes the copied buffer into the image as a new layer. Ctrl + V

Paste at Cursor

Same as paste, but aligns the image to the cursor.

Paste into new image

Pastes the copied buffer into a new image.

Clear

Clear the current layer. Del

Fill with Foreground Color

Fills the layer or selection with the foreground color. Shift + Backspace

Fill with Background Color

Fills the layer or selection with the background color. Backspace

Fill with pattern

Fills the layer or selection with the active pattern.

Stroke Selected Shapes

Strokes the selected vector shape with the selected brush, will create a new layer.

Stroke Selection

Strokes the active selection using the menu.

File Menu

New

Make a new file.

Open

Open a previously created file.

Open Recent

Open the recently opened document.

Save

File formats that Krita can save to. These formats can later be opened back up in Krita.

Save As

Save as a new file.

Open Existing Document As New document

Similar to import in other programs.

Export

Additional formats that can be saved. Some of these formats may not be later imported or opened by Krita

Import Animation Frames

Import frames for animation.

Render Animation

Render an animation with FFMPEG. This is explained on the Render Animation page.

Save incremental version

Save as a new version of the same file with a number attached.

Save incremental Backup

Copies and renames the last saved version of your file to a back-up file and saves your document under the original name.

Create Template from image

The *.kra file will be saved into the template folder for future use. All your layers and guides will be saved along!

Create Copy From Current Image

Makes a new document from the current image, so you can easily reiterate on a single image. Useful for areas where the template system is too powerful.

Document Information

Look at the document information. Contains all sorts of interesting information about image, such as technical information or metadata.

Close

Close the view or document.

Close All

Close all views and documents.

Quit

Close Krita

Help Menu

Krita Handbook

Opens a browser and sends you to the index of this manual.

Report Bug

Sends you to the bugtracker.

Show system information for bugreports.

This is a selection of all the difficult to figure out technical information of your computer. This includes things like, which version of Krita you have, which version your operating system is, and most prudently, what kind of OpenGL functionality your computer is able to provide. The latter varies a lot between computers and due that it is one of the most difficult things to debug. Providing such information can help us figure out what is causing a bug.

About Krita

Shows you the credits.

About KDE

Tells you about the KDE community that Krita is part of.

Image Menu

Properties

Gives you the image properties.

Image Background Color and Transparency

Change the background canvas color.

Convert Current Image Color Space.

Converts the current image to a new colorspace.

Trim to image size

Trims all layers to the image size. Useful for reducing filesize at the loss of information.

Trim to Current Layer

A lazy cropping function. Krita will use the size of the current layer to determine where to crop.

Trim to Selection

A lazy cropping function. Krita will crop the canvas to the selected area.

Rotate Image

Rotate the image

Shear Image

Shear the image

Mirror Image Horizontally

Mirror the image on the horizontal axis.

Mirror Image Vertically

Mirror the image on the vertical axis.

Scale to New Size

The resize function in any other program Ctrl + Alt + I

Offset Image

Offset all layers.

Resize Canvas

Change the canvas size. Don't confuse this with Scale to new size.

Image Split

Splits the image.

Wavelet Decompose

Does Wavelet Decompose on the current layer.

Separate Image

Separates the image into channels

Layers

These are the topmenu options are related to Layer Management, check out that page first, if you haven't.

Cut Layer (3.0+)

Cuts the whole layer rather than just the pixels.

Copy Layer (3.0+)

Copy the whole layer rather than just the pixels.

Paste Layer (3.0+)

Pastes the whole layer if any of the top two actions have been taken.

New

Organizes the following actions:

Paint Layer

Add a new paint layer

New layer from visible (3.0.2+)

Add a new layer with the visible pixels.

Duplicate Layer or Mask

Duplicates the layer.

Cut Selection to New Layer

Single action for cut+paste

Copy Selection to New Layer

Single action for copy+paste

Import/Export

Organizes the following actions:

Save Layer or Mask

Saves the Layer or Mask as a separate image.

Save Vector Layer as SVG

Save the currently selected vector layer as an SVG.

Save Group Layers

Saves the top-level group layers as single-layer images.

Import Layer

Import an image as a layer into the current file.

Import as...

Import an image as a specific layer type. The following layer types are supported:

Paint layer

Transparency Mask

Filter Mask

Selection Mask

Convert

Organizes the following actions:

Convert a layer to...

Convert to Paint Layer

Convert a mask or vector layer to a paint layer.

Transparency Mask

Convert a layer to a transparency mask. The image will be converted to grayscale first, and these grayscale values are used to drive the transparency.

Filter Mask

Convert a layer to a filter mask. The image will be converted to grayscale first, and these grayscale values are used to drive the filter effect area.

Selection Mask

Convert a layer to a selection mask. The image will be converted to grayscale first, and these grayscale values are used to drive the selected area.

Convert Group to Animated Layer

This takes the images in the group layer and makes them into frames of an animated layer.

Convert Layer Color Space

This only converts the color space of the layer, not the image.

Select (3.0+):

Organizes the following actions:

All layers

Select all layers.

Visible Layers

Select all visible layers.

Invisible Layers

Select all invisible layers, useful for cleaning up a sketch.

Locked Layers

Select all locked layers.

Unlocked Layers

Select all unlocked layers.

Group

Organizes the following actions:

Quick Group (3.0+)

Adds all selected layers to a group.

Quick Clipping Group (3.0+)

Adds all selected layers to a group and adds a alpha-inherited layer above it.

Quick Ungroup

Ungroups the activated layer.

Transform

Organizes the following actions:

Mirror Layer Horizontally

Mirror the layer horizontally using the image center.

Mirror Layer Vertically

Mirror the layer vertically using the image center.

Rotate

Rotate the layer around the image center.

Scale Layer

Scale the layer by the given amounts using the given interpolation filter.

Shear Layer

Shear the layer pixels by the given X and Y angles.

Offset Layer

Offset the layer pixels by a given amount.

Split...

Organizes the following actions:

Split Alpha

Split the image transparency into a mask. This is useful when you wish to edit the transparency separately.

Split Layer

Split the layer into given color fields.

Clones Array

A complex bit of functionality to generate clone-layers for quick sprite making.

Edit Metadata

Each layer can have its own metadata.

Histogram

Shows a histogram.

Merge With Layer Below

Merge a layer down.

Flatten Layer

Flatten a Group Layer or flatten the masks into any other layer.

Rasterize Layer

For making vectors into raster layers.

Flatten Image

Flatten all layers into one.

Layerstyle (2.9.5+)

Set the PS-style layerstyle

Select Menu

Select All

Selects the whole layer.

Deselect

Deselects everything (except for active Selection Mask)

Reselect

Reselects the previously deselected selection.

Invert Selection

Inverts the selection.

Convert raster selection to vector selection.

--

Convert Shapes to Vector Selection

Convert vector shape to vector selection

Convert to shape

Converts vector selection to vector shape.

Display Selection

Display the selection. If turned off selections will be invisible.

Show Global Selection Mask

Shows the global selection as a selection mask in the layers docker. This is necessary to be able to select it for painting on.

Scale

Scale the selection

Select from Color Range

Select from a certain color range.

Select Opaque

Select all opaque (non-transparent) pixels in the current active layer. If there's already a selection, this will add the new selection to the old one, allowing you to select the opaque pixels of multiple layers into one selection. Semi-transparent (or semi-opaque) pixels will be semi-selected.

Feather Selection

Feathering in design means to soften sharp borders. So this adds a soft border to the existing selection.

Grow Selection

Make the selection a few pixels bigger.

Shrink Selection

Make the selection a few pixels smaller.

Border Selection

Take the current selection and remove the insides so you only have a border selected.

Smooth

Make the selection a little smoother. This removes jiggle.

Setting Menu

The Settings Menu houses the configurable options in Krita and where you determine most of the "look and feel" of the application.

Show Dockers

Show Dockers

Determines whether or not the dockers are visible. This is a nice aid to cleaning up the interface and removing unnecessary "eye-ball clutter" when you are painting. If you've got your brush and you know you're just going to be painting for awhile why not flip the dockers off? You'd be amazed what a difference it makes while you're working. However, if you know you're swapping out tools or working with layer or any of the other myriad things Krita lets you do then there's no point getting caught up in flipping the docks on and off. Use you time wisely!

Truc

This is a great candidate to add to the toolbar so you can just click the dockers on and off and don't even have to open the menu to do it. See Configure Toolbars below for more.

Dockers

Krita subdivides the access of many of its features into functional panels called Dockers. Dockers are small windows that can contain, for example, things like the Layer Stack, Color Palette or Brush Presets. Think of them as the painter's palette, or his water, or his brushkit.

Learning to use dockers effectively is a key concept to optimizing your time using Krita.

Themes

Krita provides a number of color-themed interfaces or "looks". The current set of themes are the following:

Dark (Default)

Blender

Bright

Neutral

There is no easy way to create and share themes. The color themes are defined in the Share ‣ Color Schemes folder where Krita is downloaded.

Configure Shortcuts

Configuring shortcuts is another way to customize the application to fit you. Whether you are transitioning from another app, like Photoshop or MyPaint, or you think your own shortcut keys make more sense for you then Krita has got you covered. You get to the shortcuts interface through Settings ‣ Configure Krita and by choosing the Keyboard Shortcuts tab.

To use, just type the Action into the Search box you want to assign/reassign the shortcut for. Suppose we wanted to assign the shortcut Ctrl + G to the Action of Group Layers so that every time we pressed Ctrl + G a new Layer Group would be created. Use the following steps to do this:

Type "Group Layer"

Click on Group Layer and a small inset box will open.

Click the Custom radio button

Click on the first button and type the Ctrl + G key combination.

Click OK

From this point on, whenever you press Ctrl + G you'll get a new Group Layer.

Truc

Smart use of shortcuts can save you significant time and further streamline your workflow.

Manage Resources

Manage the resources. You can read more about it here.

Switch Application Language

If you wish to use Krita in a different translation.

Configure Toolbars

Krita allows you to highly customize the Toolbar interface. You can add, remove and change the order of nearly everything to fit your style of work. To get started, choose Settings ‣ Configure Toolbars

The dialog is broken down into three main sections:

The Toolbar

Choose to either modify the "File" or "Brushes and Stuff" toolbars

Available Actions:

All the options that can be added to a toolbar

Current Actions:

All the actions currently assigned and the order they are in.

Use the arrows between the Available and Current actions sections to move items back and forth and up and down in the hierarchy. This type of inclusion/exclusion interface has been around on PCs for decades so we don't need to go into great detail regarding its use. What is important though is selecting the correct Toolbar to work on. The File Toolbar allows you to add items between the New , Open and Save buttons as well as to the right of the Save button. The Brushes and Stuff Toolbar, lets you modify anything from the Gradients button over to the right. This is probably where you'll do most of your editing.

Here we've added Select Opaque , Local Selection , Transparency Mask , Isolate Layer , Show Assistant Previews . This is just an example of a couple of options that are used frequently and might trim your workflow. This is what it looks like in the configuration tool:

You'll notice that some of the items are text only and some only icons. This is determined by whether the particular item has an associated icon in Krita. You can select anything from the Available section and move it to the Current one and rearrange to fit your own workflow.

If you add so many that they won't all fit on your screen at once, you will see a small chevron icon appear. Click it and the toolbar expands to show the remaining items.

Toolbars shown.

Gives a list of toolbars that can be shown.

At this time Krita does not support the ability to create additional toolbars. The ones available are:

Although not really advisable, you can turn them off (but why would you..really?)

Tools Menu

This contains three things.

Scripting

When you have python scripting enabled and have scripts toggled, this is where most scripts are stored by default.

Recording

Compte

The recording and macro features are unmaintained and buggy.

Record a macro. You do this by pressing start, drawing something and then pressing stop. This feature can only record brush strokes. The resulting file is stored as a *.kritarec file.

Macros

Play back or edit a krita rec file. The edit can only change the brush preset on strokes or add and remove filters.

View Menu

Show Canvas Only

Only shows the canvas and what you have configured to show in Canvas Only settings.

Fullscreen mode

This will hide the system bar.

Wrap Around Mode

This will show the image as if tiled orthographically. Very useful for tiling 3d textures. Hit W to quickly activate it.

Instant Preview

Toggle Instant Preview globally.

Soft Proofing

Activate Provatura suau.

Out of Gamut Warnings

See the Provatura suau page for details.

Canvas

Contains view manipulation actions.

Mirror View

This will mirror the view. Hit M to quickly activate it. Very useful during painting.

Show Rulers

This will display a set of rulers. mouseright the rulers after showing them, to change the units.

Rulers track pointer

This adds a little marker to the ruler to show where the mouse is in relation to them.

Show Guides

Show or hide the guides.

Lock Guides

Prevent the guides from being able to be moved by the cursor.

Show Status Bar

This will show the status bar. The status bar contains a lot of important information, a zoom widget, and the button to switch Selection Display Mode.

Show Grid

Shows and hides the grid. Ctrl + Shift + '

Show Pixel Grid

Show the pixel grid as configured in the Display Settings.

Snapping

Toggle the Ajustar types.

Show Painting Assistants

Shows or hides the Assistants

Show Painting Previews

Shows or hides the Assistants

Window Menu

A menu completely dedicated to window management in Krita.

New Window

Creates a new window for Krita. Useful with multiple screens.

New View

Make a new view of the given document. You can have different zoom or rotation on these.

Workspace

A convenient access panel to the Workspaces.

Close

Close the current view.

Close All

Close all documents

Tile

Tiles all open documents into a little sub-window.

Cascade

Cascades the sub-windows.

Next

Selects the next view.

Previous

Selects the previous view.

List of open documents.

Use this to switch between documents.

Maths Input

Also known as Numerical Input boxes. You can make Krita do simple maths for you in the places where we have number input. Just select the number in a spinbox, or right-click a slider to activate number input. It doesn't do unit conversion yet, but this is planned.

Possible Functions

Addition (Operator: + )

Just adds the numbers. Usage: 50+100 Output: 150

Subtraction (Operator: - )

Just subtracts the last number from the first. Usage: 50-100 Output: 50

Multiplication (Operator: * )

Just multiplies the numbers. Usage: 50*100 Output: 5000

Division (Operator: / )

Just divides the numbers. Usage: 50/100 Output: 0.5

Exponent (Operator: ^ )

Makes the last number the exponent of the first and calculates the result. Usage: 2^8 Output: 256

Sine (Operator: sin() )

Gives you the sine of the given angle. Usage: sin(50) Output: 0.76

Cosine (Operator: cos() )

Gives you the cosine of the given angle. Usage: cos(50) Output: 0.64

Tangent (Operator: tan() )

Gives you the tangent of the given angle. Usage: tan(50) Output: 1.19

Arc Sine (Operator: asin() )

Inverse function of the sine, gives you the angle which the sine equals the argument. Usage: asin(0.76) Output: 50

Arc Cosine (Operator: acos() )

Inverse function of the cosine, gives you the angle which the cosine equals the argument. Usage: acos(0.64) Output: 50

Arc Tangent (Operator: atan() )

Inverse function of the tangent, gives you the angle which the tangent equals the argument. Usage: atan(1.19) Output: 50

Absolute (Operator: abs() )

Gives you the value without negatives. Usage: abs(75-100) Output: 25

Exponent (Operator: exp() )

Gives you given values using e as the exponent. Usage: exp(1) Output: 2.7183

Natural Logarithm (Operator: ln() )

Gives you the natural logarithm, which means it has the inverse functionality to exp(). Usage: ln(2) Output: 0.6931

The following are technically supported but bugged:

Common Logarithm (Operator: log10() )

Gives you logarithms of the given value. Usage: log10(50) Output: 0.64

Order of Operations.

The order of operations is a globally agreed upon reading order for interpreting mathematical expressions. It solves how to read an expression like:

2+3*4

You could read it as 2+3 = 5, and then 5*4 =20. Or you could say 3*4 = 12 and then 2+12 = 14.

The order of operations itself is Exponents, Multiplication, Addition, Subtraction. So we first multiply, and then add, making the answer to the above 14, and this is how Krita will interpret the above.

We can use brackets to specify certain operations go first, so to get 20 from the above expression, we do the following:

( 2+3 )*4

Krita can interpret the brackets accordingly and will give 20 from this.

Errors

Sometimes, you see the result becoming red. This means you made a mistake and Krita cannot parse your maths expression. Simply click the input box and try again.

Preferences

Krita is highly customizable and makes many settings and options available to customize through the Preferences area. These settings are accessed by going to Settings ‣ Configure Krita. On MacOS, the settings are under the topleft menu area, as you would expect of any program under MacOS.

Krita's preferences are saved in the file kritarc. This file is located in %LOCALAPPDATA%\ on Windows, ~/.config on Linux, and ~/Library/Preferences on OS X. If you would like to back up your custom settings or synchronize them from one computer to another, you can just copy this file. It even works across platforms!

If you have installed Krita through the Windows store, the kritarc file will be in another location:

%LOCALAPPDATA%\Packages\49800Krita_RANDOM STRING\LocalCache\Local\kritarc

Custom shortcuts are saved in a separate file kritashortcutsrc which can also be backed up in the same way. This is discussed further in the shortcuts section.

Author Profile Settings

Canvas Input Settings

Canvas Only Mode

Color Management Settings

Color Selector Settings

Display Settings

G'Mic Settings

General Settings

Grid Settings

Performance Settings

Python Plugin Manager

Shortcut Settings

Tablet Settings

Author Profile Settings

Krita allows creating an author profile that you can use to store contact info into your images.

The main element is the author page. This page was overhauled massively in 4.0.

By default, it will use the "Anonymous" profile, which contains nothing. To create a new profile, press the "+" button, and write up a name for the author profile.

You can then fill out the fields.

The position field is special in that it has a list of hard coded common artists positions it can suggest.

In older versions of Krita there could only be one of each contact info. In 4.0, you can make as many contact entries as you'd like.

Press Add Contact Info to add an entry in the box. By default it will set the type to homepage, because that is the one that causes the least spam. Double mouseleft homepage to change the contact type. Double mouseleft the "New Contact Info" text to turn it into a line edit to change the value.

Using the new profile

To use a profile for your current drawing, go to Settings ‣ Active Author Profile and select the name you gave your profile. Then, when pressing Save on your current document, you will be able to see your last author profile as the last person who saved it in File ‣ Document Information ‣ Author

Exporting author metadata to Jpeg and Png

Novetat de la versió 4.0: The jpeg and png export both have Sign with author data options. Toggling these will store the Nickname and the first entry in the contact info into the metadata of png or jpeg.

For the above example in the screenshot, that would result in: ExampleMan (http://example.com) being stored in the metadata.

Canvas Input Settings

Krita has ways to set mouse and keyboard combinations for different actions. The user can set which combinations to use for a certain Krita command over here. This section is under development and will include more options in future.

Profile

The user can make different profiles of combinations and save them.

Canvas Only Mode

Canvas Only mode is Krita's version of full screen mode. It is activated by hitting Tab on the keyboard. Select which parts of Krita will be hidden in canvas-only mode -- The user can set which UI items will be hidden in canvas-only mode. Selected items will be hidden.

Color Management Settings

Krita offers extensive functionality for color management, utilising Little CMS [http://www.littlecms.com/] We describe Color Management in a more overall level here: Color Managed Workflow.

General

Default Color Model For New Images

Choose the default model you prefer for all your images.

When Pasting Into Krita From Other Applications

The user can define what kind of conversion, if any, Krita will do to an image that is copied from other applications i.e. Browser, GIMP, etc.

Assume sRGB

This option will show the pasted image in the default Krita ICC profile of sRGB.

Assume monitor profile

This option will show the pasted image in the monitor profile selected in system preferences.

Ask each time

Krita will ask the user each time an image is pasted, what to do with it. This is the default.

Nota

When copying and pasting in Krita color information is always preserved.

Use Blackpoint Compensation

This option will turn on Blackpoint Compensation for the conversion. BPC is explained by the maintainer of LCMS as following:

BPC is a sort of "poor man's" gamut mapping. It basically adjust contrast of images in a way that darkest tone of source device gets mapped to darkest tone of destination device. If you have an image that is adjusted to be displayed on a monitor, and want to print it on a large format printer, you should realize printer can render black significantly darker that the screen. So BPC can do the adjustment for you. It only makes sense on Relative colorimetric intent. Perceptual and Saturation does have an implicit BPC.

Allow LittleCMS optimizations

Uncheck this option when using Linear Light RGB or XYZ.

Display

Use System Monitor Profile

This option when selected will tell Krita to use the ICC profile selected in your system preferences.

Screen Profiles

There are as many of these as you have screens connected. The user can select an ICC profile which Krita will use independent of the monitor profile set in system preferences. The default is sRGB built-in. On Unix systems, profile stored in $/usr/share/color/icc (system location) or $~/.local/share/color/icc (local location) will be proposed. Profile stored in Krita preference folder, $~/.local/share/krita/profiles will be visible only in Krita.

Rendering Intent

Your choice of rendering intents is a way of telling Littlecms how you want colors mapped from one color space to another. There are four options available, all are explained on the ICC profiles manual page.

Softproofing options

These allow you to configure the default softproofing options. To configure the actual softproofing for the current image, go to Image ‣ Image Properties ‣ Softproofing .

For indepth details about how to use softproofing, check out the page on softproofing.

Color Selector Settings

These settings directly affect Advanced Color Selector Dockers and the same dialog box appears when the user clicks the settings button in that docker as well. They also affect certain hotkey actions.

This settings menu has a drop-down for Advanced Color Selector, and Color Hotkeys.

Advanced Color Selector

These settings are described on the page for the Advanced Color Selector.

Color Hotkeys

These allow you to set the steps for the following actions:

Make Brush Color Darker

This is defaultly set to K and uses the lightness steps. This uses luminance when possible.

Make Brush Color Lighter

This is defaultly set to L and uses the lightness steps. This uses luminance when possible.

Make Brush Color More Saturated

This is defaultly unset and uses the saturation steps.

Make Brush Color More Desaturated

This is defaultly unset and uses the saturation steps.

Shift Brushcolor Hue clockwise

This is defaultly unset and uses the Hue steps.

Shift Brushcolor Hue counter-clockwise

This is defaultly unset and uses the Hue steps.

Make Brush Color Redder

This is defaultly unset and uses the Redder/Greener steps.

Make Brush Color Greener

This is defaultly unset and uses the Redder/Greener steps.

Make Brush Color Yellower

This is defaultly unset and uses the Bluer/Yellower steps.

Make Brush Color Bluer

This is defaultly unset and uses the Bluer/Yellower steps.

Display Settings

Here various settings for the rendering of Krita can be edited.

OpenGL

For Krita 3.3 or later: Reworded as "*Canvas Graphics Acceleration*"

OpenGL is a bit of code especially for graphics cards. Graphics cards a dedicate piece of hardware for helping your computer out with graphics calculations, which Krita uses a lot. All modern computer have graphics cards.

For Krita 3.3 or later: On Windows, Krita also supports using Direct3D instead with the help of the ANGLE library. ANGLE works by converting the OpenGL functions that Krita makes use of to the equivalent in Direct3D. It may (or may not) be slower than native OpenGL, but it has better compatibility with typical Windows graphics drivers.

Enable OpenGL (For Krita 3.3 or later: Reworded as *Canvas Graphics Acceleration*)

Selecting this checkbox will enable the OpenGL / ANGLE canvas drawing mode. With a decent graphics card this should give faster feedback on brushes and tools. Also the canvas operations like Rotate, Zoom and Pan should be considerably faster.

For Krita 3.3 or later:

Renderer

On Windows: You can switch between native OpenGL or ANGLE Direct3D 11 rendering. The usual recommendation is to leave it as "Auto", which Krita will decide the best to use based on some internal compatibility checking. Changes to this option require a restart of Krita to take effect.

Use Texture Buffer

This setting utilizes the graphics card's buffering capabilities to speed things up a bit. Although for now, this feature may be broken on some AMD/Radeon cards and may work fine on some Intel graphics cards.

Scaling Mode

The user can choose which scaling mode to use while zooming the canvas. The choice here only affects the way the image is displayed during canvas operations and has no effect on how Krita scales an image when a transformation is applied.

Nearest Neighbour

This is the fastest and crudest filtering method. While fast, this results in a large number of artifacts - 'blockiness' during magnification, and aliasing and shimmering during minification.

Bilinear Filtering

This is the next step up. This removes the 'blockiness' seen during magnification and gives a smooth looking result. For most purposes this should be a good trade-off between speed and quality.

Trilinear Filtering

This should give a little better result than Bilinear Filtering.

High Quality Filtering

Only available when your graphics card supports OpenGL 3.0. As the name suggests, this setting provides the best looking image during canvas operations.

Transparency Checkboxes

Krita supports layer transparency. Of course, the nasty thing is that transparency can't be seen. So to indicate transparency at the lowest layer, we use a checker pattern. This part allows you to configure it.

Size

This sets the size of the checkers which show up in transparent parts of an image.

Color

The user can set the colors for the checkers over here.

Move Checkers When Scrolling

When selected the checkers will move along with opaque elements of an image during canvas Panning, Zooming, etc. Otherwise the checkers remain stationary and only the opaque parts of an image will move.

Canvas Border

Color

The user can select the color for the canvas i.e. the space beyond a document's boundaries.

Hide Scrollbars

Selecting this will hide the scrollbars in all view modes.

Pixel Grid

Novetat de la versió 4.0.

This allows configuring an automatic pixel-by-pixel grid, which is very useful for doing pixel art.

Color

The color of the grid.

Start Showing at

This determines the zoom level at which the pixel grid starts showing, as showing it when the image is zoomed out a lot will make the grid overwhelm the image, and is thus counter productive.

Miscellaneous

Color Channels in Color

This is supposed to determine what to do when only a single channel is selected in the channels docker, but it doesn't seem to work.

Enable Curve Anti-Aliasing

This allows anti-aliasing on previewing curves, like the ones for the circle tool, or the path tool.

Enable Selection Outline Anti-Aliasing

This allows automatic anti-aliasing on selection. It makes the selection feel less jaggy and more precise.

Hide window scrollbars.

Hides the scrollbars on the canvas.

Hide Layer thumbnail popup

This disables the thumbnail that you get when hovering over a layer.

G'Mic Settings

G'Mic or GREYC's Magic for Image Computing is an opensource filter framework, or, it is an extra program you can download to have access to a whole lot of image filters.

Krita has had G'Mic integration for a long time, but this is its most stable incarnation.

You set it up as following:

First download the proper krita plugin from the G'Mic website. [http://gmic.eu/download.shtml]

Then, unzip and place it somewhere you can find it.

Go to Settings ‣ Configure Krita ‣ G'Mic plugin and set G'MIC to the filepath there.

Then restart Krita.

General Settings

You can access the General Category of the preferences by first going to Settings ‣ Configure Krita.

Cursor Settings

Customize the drawing cursor here:

Cursor Shape

Select a cursor shape to use while the brush tools are used. This cursor will always be visible on the canvas. It is usually set to a type exactly where your pen nib is at. The available cursor types are shown below.

Tool Icon

Shows the currently selected tool icon, even for the freehand brush.

Arrow

Shows a generic cursor.

Crosshair

Shows a precision reticule.

Small circle

Shows a small white dot with a black outline.

No Cursor

Show no cursor, useful for tablet-monitors.

Triangle Right-Handed.

Gives a small white triangle with a black border.

Triangle Left-Handed.

Same as above but mirrored.

Black Pixel

Gives a single black pixel.

White Pixel

Gives a single white pixel.

Outline Shape

Select an outline shape to use while the brush tools are used. This cursor shape will optionally show in the middle of a painting stroke as well. The available outline shape types are shown below.(pictures will come soon)

No Outline

No outline.

Circle Outline

Gives a circular outline approximating the brush size.

Preview Outline

Gives an outline based on the actual shape of the brush.

Tilt Outline

Gives a circular outline with a tilt-indicator.

While Painting...

Show Outline

This option when selected will show the brush outline while a stroke is being made. If unchecked the brush outline will not appear during stroke making, it will show up only after the brush stroke is finished. This option works only when Brush Outline is selected as the Cursor Shape.

Canviat a la versió 4.1: Used to be called "Show Outline When Painting"

Use effective outline size

Novetat de la versió 4.1.

This makes sure that the outline size will always be the maximum possible brush diameter, and not the current one as affected by sensors such as pressure. This makes the cursor a little less noisy to use.

Window Settings

Multiple Document Mode

This can be either tabbed like GIMP or Painttool Sai, or subwindows, like Photoshop.

Background image

Allows you to set a picture background for subwindow mode.

Window Background

Set the color of the subwindow canvas area.

Don't show contents when moving sub-windows

This gives an outline when moving windows to work around ugly glitches with certain graphics-cards.

Show on-canvas popup messages

Whether or not you want to see the on-canvas pop-up messages that tell you whether you are in tabbed mode, rotating the canvas, or mirroring it.

Enable Hi-DPI support

Attempt to use the Hi-DPI support. It is an option because we are still experiencing bugs on windows.

Allow only one instance of Krita

An instance is a single entry in your system's task manager. Turning this option makes sure that Krita will check if there's an instance of Krita open already when you instruct it to open new documents, and then have your documents opened in that single instance. There's some obscure uses to allowing multiple instances, but if you can't think of any, just keep this option on.

Tool options

In docker (default)

Gives you the tool options in a docker.

In toolbar

Gives you the tool options in the toolbar, next to the brush settings. You can open it with \.

Switch Control/Alt Selection Modifiers

This switches the function of the Ctrl and Alt buttons when modifying selections. Useful for those used to Gimp instead of Photoshop, or Lefties without a right-Alt key on their keyboard.

Enable Touchpainting

This allows finger painting with capacitive screens. Some devices have both capacitive touch and a stylus, and then this can interfere. In that case, just toggle this.

Kinetic Scrolling (Needs Restart)

This enables kinetic scrolling for scrollable areas.

Kinetic scrolling on the brush chooser drop-down with activation mode set to On Click Drag, with this disabled all of these clicks would lead to a brush being selected regardless of drag motion.

Activation

How it is activated.

Disabled

Will never activated.

On Touch Drag

Will activate if it can recognize a touch event. May not always work.

On Click Drag

Will activate when it can recognize a click event, will always work.

Sensitivity

How quickly the feature activates, this effective determines the length of the drag.

Show Scrollbar

Whether to show scrollbars when doing this.

Miscellaneous

When Krita starts

This is the option for handling user sessions. It has the following options:

Open Default Window

This opens the regular empty window with the last used workspace.

Load Previous Session

Load the last opened session. If you have Save session when Krita closes toggled, this becomes the last files you had open and the like.

Show Session Manager

Show the session manager directly so you can pick a session.

Novetat de la versió 4.1.

Save session when Krita closes

Save the current open windows, documents and the like into the current session when closing Krita so you can resume where you left off.

Novetat de la versió 4.1.

Autosave Every

Here the user can specify how often Krita should autosave the file. You can tick the checkbox to turn it off. For Windows, these files are saved in the %TEMP% directory. If you are on Linux they are stored in /home/'username'.

Compress *.kra files more.

This increases the zip compression on the saved Krita files, which makes them lighter on disk, but this takes longer to load.

Upon importing Images as Layers, convert to the image color space.

This makes sure that layers are the same color space as the image, necessary for saving to PSD.

Undo Stack Size

This is the number of undo commands Krita remembers. You can set the value to 0 for unlimited undos.

Favorite Presets

This determines the amount of presets that can be used in the pop-up palette.

Create Backup File

When selected Krita will try to save a backup file in case of a crash.

Hide splash screen on startup.

This'll hide the splash screen automatically once Krita is fully loaded.

Enable Native File Dialog

This allows you to use the system file dialog. By default turned off because we cannot seem to get native file dialogues 100% bugfree.

Maximum brush size

This allows you to set the maximum brush size to a size of up to 10.000 pixels. Do be careful with using this, as a 10.000 pixel size can very quickly be a full gigabyte of data being manipulated, per dab. In other words, this might be slow.

Recalculate animation cache in background.

Krita will recalculate the cache when you're not doing anything.

Canviat a la versió 4.1: This is now in the Performance Settings under Animation Cache.

Grid Settings

Obsolet desde la versió 3.0: Deprecated in 3.0, use the Grids and Guides Docker instead.

Settings->configure Krita->Grid

Fine tune the settings of the grid-tool grid here.

Placement

The user can set various settings of the grid over here.

Horizontal Spacing

The number in Krita units, the grid will be spaced in the horizontal direction.

Vertical Spacing

The number in Krita units, the grid will be spaced in the vertical direction. The images below will show the usage of these settings

X Offset

The number to offset the grid in the X direction.

Y Offset

The number to offset the grid in the Y direction.

Some examples are shown below, look at the edge of the image to see the offset.

Subdivisions

Here the user can set the number of times the grid is subdivided. Some examples are shown below

Style

Main

The user can set how the main lines of the grid are shown. Options available are Lines, Dashed Lines, Dots. The color also can be set here.

Subdivision

The user can set how the subdivision lines of the grid are shown. Options available are Lines, Dashed Lines, Dots. The color also can be set here.

Performance Settings

Krita, as a painting program, juggles a lot of data around, like the brushes you use, the colors you picked, but primarily, each pixel in your image. Due to this, how Krita organizes where it stores all the data can really speed up Krita while painting, just like having an organized artist's workplace can really speed up the painting process in real life.

These preferences allow you to configure Krita's organisation, but all do require you to restart Krita, so it can do this organisation properly.

RAM

RAM, or Random Access Memory, is the memory your computer is immediately using. The difference between RAM and the hard drive memory can be compared to the difference between having files on your desk and having files safely stored away in an archiving room: The files on your desk as much easier to access than the ones in your archive, and it takes time to pull new files from the archive. This is the same for your computer and RAM. Files need to be loaded into RAM before the computer can really use them, and storing and removing them from RAM takes time.

These settings allow you to choose how much of your virtual desk you dedicate to Krita. Krita will then reserve them on start-up. This does mean that if you change any of the given options, you need to restart Krita so it can make this reservation.

Memory Limit

This is the maximum space Krita will reserve on your RAM on startup. It's both available in percentages and Bytes, so you can specify precisely. Krita will not take up more space than this, making it safe for you to run an internet browser or music on the background.

Internal Pool

A feature for advanced computer users. This allows Krita to organize the area it takes up on the virtual working desk before putting its data on there. Like how a painter has a standard spot for their canvas, Krita also benefits from giving certain data it uses its place (a memory pool), so that it can find them easily, and it doesn't get lost among the other data (memory fragmentation). It will then also not have to spend time finding a spot for this data.

Increasing this, of course, means there's more space for this type of data, but like how filling up your working desk with only one big canvas will make it difficult to find room for your paints and brushes, having a large internal pool will result in Krita not knowing where to put the other non-specific data.

On the opposite end, not giving your canvas a spot at all, will result in you spending more time looking for a place where you will put the new layer or that reference you just took out of the storage. This happens for Krita as well, making it slower.

This is recommended to be a size of one layer of your image, e.g. if you usually paint on the image of 3000x3000x8bit-ARGB, the pool should be something like 36 MiB.

As Krita does this on start-up, you will need to restart Krita to have this change affect anything.

Swap Undo After

Krita also needs to keep all the Undo states on the virtual desk (RAM). Swapping means that parts of the files on the virtual desk get sent to the virtual archive room. This allows Krita to dedicate more RAM space to new actions, by sending old Undo states to the archive room once it hits this limit. This will make undoing a little slower, but this can be desirable for the performance of Krita overall. This too needs Krita to be restarted.

Swapping

File Size Limit

This determines the limit of the total space Krita can take up in the virtual archive room. If Krita hits the limit of both the memory limit above, and this Swap File limit, it can't do anything anymore (and will freeze).

Swap File Location

This determines where the Swap File will be stored on your hard-drive. Location can make a difference, for example, Solid State Drives (SSD) are faster than Hard Disk Drives (HDD). Some people even like to use USB-sticks for the swap file location.

Advanced

Multithreading

Since 4.0, Krita supports multithreading for the animation cache and handling the drawing of brush tips when using the pixel brush.

CPU Limit

The number of cores you want to allow Krita to use when multithreading.

Frame Rendering Clones Limit

When rendering animations to frames, Krita multithreads by keeping a few copies of the image, with a maximum determined by the number of cores your processor has. If you have a heavy animation file and lots of cores, the copies can be quite heavy on your machine, so in that case try lowering this value.

Other

Limit frames per second while painting.

This makes the canvas update less often, which means Krita can spend more time calculating other things. Some people find fewer updates unnerving to watch however, hence this is configurable.

Debug logging of OpenGL framerate

Will show the canvas framerate on the canvas when active.

Debug logging for brush rendering speed.

Will show numbers indicating how fast the last brush stroke was on canvas.

Disable vector optimizations (for AMD CPUs)

Vector optimizations are a special way of asking the CPU to do maths, these have names such as SIMD and AVX. These optimizations can make Krita a lot faster when painting, except when you have an AMD CPU under Windows. There seems to be something strange going on there, so just deactivate them then.

Enable progress reporting

This allows you to toggle the progress reporter, which is a little feedback progress bar that shows up in the status bar when you let Krita do heavy operations, such as heavy filters or big strokes. The red icon next to the bar will allow you to cancel your operation. This is on by default, but as progress reporting itself can take up some time, you can switch it off here.

Performance logging

This enables performance logging, which is then saved to the Log folder in your working directory. Your working directory is where the autosave is saved at as well.

So for unnamed files, this is the $HOME folder in Linux, and the %TEMP% folder in Windows.

Animation Cache

Novetat de la versió 4.1.

The animation cache is the space taken up by animation frames in the memory of the computer. A cache in this sense is a cache of precalculated images.

Playing back a video at 25 FPS means that the computer has to precalculate 25 images per second of video. Now, video playing software is able to do this because it really focuses on this one single task. However, Krita as a painting program also allows you to edit the pictures. Because Krita needs to be able to do this, and a dedicated video player doesn't, Krita cannot do the same kind of optimizations as a dedicated video player can.

Still, an animator does need to be able to see what kind of animation they are making. To do this properly, we need to decide how Krita will regenerate the cache after the animator makes a change. There's fortunately a lot of different options how we can do this. However, the best solution really depends on what kind of computer you have and what kind of animation you are making. Therefore in this tab you can customize the way how and when the cache is generated.

Cache Storage Backend

In-memory

Animation frame cache will be stored in RAM, completely without any limitations. This is also the way it was handled before 4.1. This is only recommended for computers with a huge amount of RAM and animations that must show full-canvas full resolution 6k at 25 fps. If you do not have a huge amount (say, 64GiB) of RAM, do not use this option (and scale down your projects).

Avís

Please make sure your computer has enough RAM above the amount you requested in the General tab. Otherwise you might face system freezes.

For 1 second of FullHD @ 25 FPS you will need 200 extra MiB of Memory

For 1 second of 4K UltraHD@ 25 FPS, you will need 800 extra MiB of Memory.

On-disk

Animation frames are stored in the hard disk in the same folder as the swap file. The cache is stored in a compressed way. A little amount of extra RAM is needed.

Since data transfer speed of the hard drive is slow, you might want to limit the Cached Frame Size to be able to play your video at 25 fps. A limit of 2500 px is usually a good choice.

Cache Generation Options

Limit Cached Frame Size

Render scaled down version of the frame if the image is bigger than the provided limit. Make sure you enable this option when using On-Disk storage backend, because On-Disk storage is a little slow. Without the limit, there's a good chance that it will not be able to render at full speed. Lower the size to play back faster at the cost of lower resolution.

Use Region Of Interest

We technically only need to use the section of the image that is in view. Region of interest represents that section. When the image is above the configurable limit, render only the currently visible part of it.

Enable Background Cache Generation

This allows you to set whether the animation is cached for playback in the background (that is, when you're not using the computer). Then, when animation is cached when pressing play, this caching will take less long. However, turning off this automatic caching can save power by having your computer work less.

Python Plugin Manager

This is part of Krita's python support.

The python plugin manager can be accessed from Settings ‣ Configure Krita ‣ Python Plugin Manager. It allows you decide which of the Python Plugins are active.

It will show you a list of python plugins Krita has found, as well as their description. By default, Python Plugins are disabled, because many python scripts are autostarted, so this ensures only the ones you want to run are being run.

You can use the checkboxes to toggle them. A restart is required to complete switching off or on the python plugin.

If you mouseleft a plugin, and the plugin has a manual, Krita will display it in the box at the bottom.

For more information on python, check the python scripting category.

Shortcut Settings

Most of Krita's shortcuts are configured in the menu section Settings ‣ Configure Krita ‣ Configure Shortcuts. The shortcuts configured here are simple key combinations, for example Ctrl + X to cut. Shortcuts can also be sequences of key combinations (e.g. Shift + S then B). Krita also has a special interface for configuring the mouse and stylus events sent to the canvas, found under Canvas Input Settings.

Menu Items

Search bar

Entering text here will search for matching shortcuts in the shortcut list.

Shortcut List

Shortcuts are organized into sections. Each shortcut can be given a primary and alternate key combination

Load/Save Shortcuts Profiles

The bottom row of buttons contains commands for exporting and import keyboard shortcuts.

Configuration

Primary and alternate shortcuts

Each shortcut is assigned a default, which may be empty. The user can assign up to two custom shortcuts, known as primary and alternate shortcuts. Simply click on a "Custom" button and type the key combination you wish to assign to the shortcut. If the key combination is already in use for another shortcut, the dialog will prompt the user to resolve the conflict.

Shortcut schemes

Many users migrate to Krita from other tools with different default shortcuts. Krita users may change the default shortcuts to mimic these other programs. Currently, Krita ships with defaults for Photoshop and Paint Tool Sai. Additional shortcut schemes can be placed in the ~/.config/krita/input/ folder.

Saving, loading and sharing custom shortcuts

Users may wish to export their shortcuts to use across machines, or even share with other users. This can be done with the save/load drop-down. Note: the shortcuts can be saved and overridden manually by backingup the text file kritashortcutsrc located in ~/.config/krita/. Additionally, the user can export a custom shortcut scheme file generated by merging the existing scheme defaults with the current customizations.

Tablet Settings

Tablet

Input Pressure Global Curve : This is the global curve setting that your tablet will use in Krita. The settings here will make your tablet feel soft or hard globally.

For Krita 3.3 or later:Tablet Input API

on Windows 8 or above only

WinTab

Use the WinTab API to receive tablet pen input. This is the API being used before Krita 3.3. This option is recommended for most Wacom tablets.

Windows 8+ Pointer Input

Use the Pointer Input messages to receive tablet pen input. This option depends on Windows Ink support from the tablet driver. This is a relatively new addition so it's still considered to be experimental, but it should work well enough for painting. You should try this if you are using an N-Trig device (e.g. recent Microsoft Surface devices) or if your tablet does not work well with WinTab.

Tablet Tester

Novetat de la versió 4.1.

This is a special feature for debugging tablet input. When you click on it, it will open a window with two sections. The left section is the Drawing Area and the right is the Text Output.

If you draw over the Drawing Area, you will see a line appear. If your tablet is working it should be both a red and blue line.

The red line represents mouse events. Mouse events are the most basic events that Krita can pick up. However, mouse events have crude coordinates and have no pressure sensitivity.

The blue line represents the tablet events. The tablet events only show up when Krita can access your tablet. These have more precise coordinates and access to sensors like pressure sensitivity.

Important

If you have no blue line when drawing on the lefthand drawing area, Krita cannot access your tablet. Check out the page on drawing tablets for suggestions on what is causing this.

When you draw a line, the output on the right will show all sorts of text output. This text output can be attached to a help request or a bug report to figure out what is going on.

External Links

David Revoy wrote an indepth guide on using this feature to maximum advantage. [http://www.davidrevoy.com/article182/calibrating-wacom-stylus-pressure-on-krita]

Render Animation

Render animation allows you to render your animation to an image sequence, gif, mp4, mkv, or ogg file. It replaces Export Animation .

For rendering to an animated file format, Krita will first render to a png sequence and then use FFMpeg, which is really good at encoding into video files, to render that sequence to an animated file format. The reason for this two-step process is that animation files can be really complex and really big, and this is the best way to allow you to keep control over the export process. For example, if your computer has a hiccup, and one frame saves out weird, first saving the image sequence allows you to only resave that one weird frame before rendering.

This means that you will need to find a good place to stick your frames before you can start rendering. If you only do throwaway animations, you can use a spot on your hard-drive with enough room and select Delete Sequence After Rendering

Image Sequence

Base Name

The base name of your image sequence. This will get suffixed with a number depending on the frame.

File Format

The file format to export the sequence to. When rendering we enforce png. The usual export options can be modified with ....

Render Location

Where you render the image sequence to. Some people prefer to use a flash-drive or perhaps a harddrive that is fast.

First Frame

The first frame of the range of frames you wish to adjust. Automatically set to the first frame of your current selection in the timeline. This is useful when you only want to re-render a little part.

Last Frame

As above, the last frame of the range of frames you wish to adjust. Automatically set to the last frame of your current selection in the timeline.

Naming Sequence starts with

The frames are named by using Base Name above and adding a number for the frame. This allows you to set where the frame number starts, so rendering from 8 to 10 with starting point 3 will give you images named 11 and 15. Useful for programs that don't understand sequences starting with 0, or for precision output.

Render Animation

Render As

The file format to render to. All except gif have extra options that can be manipulated via ....

File

Location and name of the rendered animation.

FFMpeg

The location where your have ffmpeg. If you don't have this, Krita cannot render an animation. For proper gif support, you will need ffmpeg 2.6, as we use its palettegen functionality.

Delete Sequence After Rendering

Delete the prerendered image sequence after done rendering. This allows you to choose whether to try and save some space, or to save the sequence for when encoding fails.

Avís

None of the video formats support saving from images with a transparent background, so Krita will try to fill it with something. You should add a background color yourself to avoid it from using, say, black.

Setting Up Krita for Exporting Animations

You will need to download an extra application and link it in Krita for it to work. The application is pretty big (50MB), so the Krita developers didn't want to bundle it with the normal application. The software that we will use is free and called FFMpeg. The following instructions will explain how to get it and set it up. The setup is a one-time thing so you won't have to do it again.

Step 1 - Downloading FFMpeg

For Windows

Go to the ffmpeg website [http://ffmpeg.org/download.html]. The URL that had the link for me was here... [https://ffmpeg.zeranoe.com/builds/]

Watch out for the extremely annoying google and that looks like a download button! There is no big button for what we need. Either get the 64-bit STATIC version or 32-bit STATIC version that is shown later down the page. If you bought a computer in the past 5 years, you probably want the 64-bit version. Make sure you get a exe file, if you hover over the options they will give more information about what exactly you are downloading.

For OSX

Please see the section above. However, FFmpeg is obtained from here [https://evermeet.cx/ffmpeg/] instead. Just pick the big green button on the left under the FFmpeg heading. You will also need an archiving utility that supports .7z, since ffmpeg provides their OSX builds in .7z format. If you don't have one, try something like Keka [http://www.kekaosx.com].

For Linux

FFMPeg can be installed from the repositories on most Linux systems. Version 2.6 is required for proper gif support, as we use the palettegen functionality.

Step 2 - Unzipping and Linking to Krita

For Windows

Unzip the package that was just downloaded. Rename the long folder name to just ffmpeg. Let's put this folder in a easy to find location. Go to your C:and place it there. You can put it wherever you want, but that is where I put it.

Open Krita back up and go to File ‣ Render Animation. Click the Browse button on the last item called FFMpeg. Select this file C:/ffmpeg/bin/ffmpeg.exe and click OK .

For OSX

After downloading ffmpeg, you just need to extract it and then simply point to it in the FFMPEG location in Krita like /Users/user/Downloads/ffmpeg (assuming you downloaded and extracted the .7z file to /Users/user/Downloads).

For Linux

FFMpeg is, if installed from the repositories, usually found in /usr/bin/ffmpeg

Step 3 - Testing out an animation

ffmpeg.exe is what Krita uses to do all of its animation export magic. Now that it is hooked up, let us test it out.

Let's make an animated GIF. In the Render Animation dialog, change the Render As field to "GIF image". Choose the file location where it will save with the "File" menu below. I just saved it to my desktop and called it "export.gif". When it is done, you should be able to open it up and see the animation.

Avís

By default, FFMPEG will render MP4 files with a too new codec, which means that Windows Media Player won't be able to play it. So for Windows, select "baseline" for the profile instead of "high422" before rendering.

Nota

OSX does not come with any software to play MP4 and MKV files. If you use Chrome for your web browser, you can drag the video file into that and the video should play. Otherwise you will need to get a program like VLC to see the video.

Resource Management

Resources are pluggable bits of data, like brush presets or patterns. Krita has variety of resources and also has a good resource management starting from 2.9, making it really easy for artists to share and collate all the resources together

Bundles

Starting from 2.9 Krita has a new format to manage resources it is called ''Bundles'', a bundle is just a compressed file containing all the resources together.

Tags

Krita also has a robust tagging system for you to manage the resources on the fly while painting. All Krita resources can be tagged. These tags can be added via the resource manager, but also via the respective dockers such as brush preset docker, pattern docker etc. You can mouseleft the plus icon in the docker and add a tag name. In addition to adding you can rename and delete a tag as well.

Resources can belong to one or more tags. For example, you may have a Brush Preset of a favorite Ink Pen variant and have it tagged so it shows in up in your Inking, Painting, Comics and Favorites groups of brushes.

Brushes in the "Predefined" tab of the Brush Settings Editor can be also tagged and grouped for convenience.

Filtering

Some dockers, for example the brush preset docker as shown below, have a resource filter, which functions like a powerful search bar for the resource in question.

You can enter brush name, tag name to quickly pull up a list of brush preset you want. When you select any tag from the tag drop-down and want to include brush presets from other tags as well then you can add filters the following way:

To filter based on the partial, case insensitive name of the resources you can add partialname or !partialname

To include other Tags type the respective name of the tag in square brackets like this [Tagname] or to exclude a tag type ![Tagname].

For case sensitive matching of preset name type "Preset name" or ! "Preset name" to exclude.

An incredibly quick way to save a group or brushes into a tag is to:

Create a new tag by mouseleft on the green plus sign. This will empty out the contents of the Brush Preset docker.

Use the Resource Filter at the bottom of the Brush Presets dock or Brush Settings Editor to type in what you want to group. For instance: if you type Pencil in the filter box you will get all Brush Presets with Pencil somewhere in their name. Now you have all the Pencil-related Brush Presets together in one place.

To finish, click the Save button (small disk icon to the right of the Resource Filter box) or press Enter and all the items will be saved with the new tag you created.

Now, anytime you want to open up your "digital pencil box" and see what you have to work with all you have to do is use the pull-down and select Pencils. The Resource Filter works the same way in other parts of Krita so be on the lookout for it!

Resource Zooming

If you find the thumbnails of the resources such as color swatches brushes and pattern to be small you can make them bigger or Zoom in. All resource selectors can be zoomed in and out of, by hovering over the selector and using Ctrl + mousescroll

Managing Resources

As mentioned earlier Krita has a flexible resource management system. Starting from version 2.9 you can share various resources mentioned above by sharing a single compressed zip file created within Krita.

The manage resources section in the settings was also revamped for making it easy for the artists to prepare these bundle files. You can open manage resource section by going to Settings then Manage Resources

Importing Bundles

To import a bundle click on Import Bundles/Resources button on the top right side of the dialog. Select .bundle file format from the file type if it is not already selected, browse to the folder where you have downloaded the bundle, select it and click Open. Once the bundle is imported it will be listed in the Active Bundle section. If you don't need the bundle you can temporarily make it inactive by selecting it and clicking on the arrow button, this will move it to the Inactive section.

Creating your own Bundle

You can create your own bundle from the resources of your choice. Click on the Create bundle button. This will open a dialog box as shown below

The left hand section is for filling up information about the bundle like author name, website, email, bundle icon, etc. The right hand side provides a list of available resources. Choose the type of resource you wish to add in to the bundle from the drop-down above and add it to the bundle by selecting a resource and clicking on the arrow button.

Avís

Make sure you add brush tips for used in the respective paintop presets you are adding to the bundle. If you don't provide the brush tips then the brush presets loaded from this bundle will have a 'X' mark on the thumbnail denoting that the texture is missing. And the brush preset won't be the same

Once you have added all the resources you can create bundle by clicking on the Save button, the bundle will be saved in the location you have specified. You can then share this bundle with other artists or load it on other workstations.

Deleting Backup files

When you delete a preset from Krita, Krita doesn't actually delete the physical copy of the preset. It just adds it to a black list so that the next time when you start Krita the presets from this list are not loaded. To delete the brushes from this list click on Delete Backup Files.

Deleting Imported Bundles

In case you wish to delete the bundles you have imported permanently click on the Open Resource Folder button in the Manage Resources dialog. This will open the resource folder in your file manager / explorer. Go inside the bundles folder and delete the bundle file which you don't need any more. The next time you start Krita the bundle and its associated resources will not be loaded.

Resource Types in Krita

Brush Preset

Brushes

Gradients

Patterns

Workspaces

Brush Preset

Paint Op presets store the preview thumbnail, brush-engine, the parameters, the brush tip, and, if possible, the texture. They are saved as .kpp files

For information regarding the brush system, see Brushes.

The Docker

The docker for Paint-op presets is the Preset Docker. Here you can tag, add, remove and search paint op presets.

Editing the preview thumbnail

You can edit the preview thumbnail in the brush-scratchpad, but you can also open the *.kpp file in Krita to get a 200x200 file to edit to your wishes.

Brushes

These are the brush tip or textures used in the brush presets. They can be png files or .abr file from Photoshop or .gbr files from gimp

Nota

Currently Krita only import a brush texture from abr file, you have to recreate the brushes by adding appropriate values in size, spacing etc.

They can be modified/tagged in the brush preset editor.

See Consells del pinzell for more info.

Example: Loading a Photoshop Brush (*.ABR)

For some time Photoshop has been using the ABR format to compile brushes into a single file. Krita can read and load .ABR files, although there are certain features. For this example we will use an example of an .ABR file that contains numerous images of types of trees and ferns. We have two objectives. The first is to create a series of brushes that we an quickly access from the Brush Presets dock to easily put together a believable forest. The second is to create a single brush that we can change on the fly to use for a variety of flora, without the need to have a dedicated Brush Preset for each type.

First up is download the file (.ZIP, .RAR,...) that contains the .ABR file and any licensing or other notes. Be sure to read the license if there is one!

Extract the .ABR file into Krita's home directory for brushes.

In your Brush Presets dock, select one of your brushes that uses the Pixel Brush Engine. An Ink Pen or solid fill type should do fine.

Open the Brush Settings Editor (F5 )

Click on the tab "Predefined" next to "Auto". This will change the editor to show a scrollable screen of thumbnail images, most will be black on a white background. At the bottom of the window are two icons:

Click on the blue file folder on the left and then navigate to where you saved your .ABR file and open it.

If everything went fine you will see a number of new thumbnails show up at the bottom of the window. In our case, they would all be thumbnails representing different types of trees. Your job now is to decide which of these you want to have as Brush Presets (Just like your Pencil) or you think you'll only use sporadically.

Let's say that there is an image of an evergreen tree that we're pretty sure is going to be a regular feature in some of our paintings and we want to have a dedicated brush for it. To do this we would do the following:

Click on the image of the tree we want

Change the name of the brush at the very top of the Brush Editor Settings dialog. Something like "Trees - Tall Evergreen" would be appropriate.

Click the "Save to Presets" button

Now that you have a "Tall Evergreen" brush safely saved you can experiment with the settings to see if there is anything you would like to change, for instance, by altering the size setting and the pressure parameter you could set the brush to change the tree size depending on the pressure you were using with your stylus (assuming you have a stylus!).

Once you're satisfied with your brush and its settings you need to do one last thing (but click Overwrite Brush first!)

It's time now to create the Brush Preview graphic. The simplest and easiest way to do this for a brush of this type is to clear out the ScratchPad using the Reset button. Now, center your cursor in the Brush Preview square at the top of the ScratchPad and click once. You should see an image of your texture (in this case it would be the evergreen tree). In order to work correctly though the entire image should fit comfortably within the square. This might mean that you have to tweak the size of the brush. Once you have something you are happy with then click the Overwrite Brush button and your brush and its preview image will be saved.

An alternative method that requires a little more work but gives you greater control of the outcome is the following:

Locate the Brush Preview thumbnail .KPP file in Krita and open it to get a 200x200 file that you can edit to your wishes.

You're ready to add the next texture! From here on it's just a matter of wash, rinse and repeat for each texture where you want to create a dedicated Brush Preset.

Gradients

Accessing a Gradient

The Gradients configuration panel is accessed by clicking the Gradients icon (usually the icon next to the disk).

Gradients are configurations of blending between colors. Krita provides over a dozen preset dynamic gradients for you to choose from. In addition, you can design and save your own.

Some typical uses of gradients are:

Fill for vector shapes.

Gradient tool

As a source of color for the pixel brush.

There is no gradients docker. They can only be accessed through the gradient "quick-menu" in the toolbar.

Editing a Gradient

Krita has two gradient types:

Segmented Gradients, which are compatible with GIMP, have many different features but are also a bit complicated to make.

Stop Gradients, which are saved as SVG files and similar to how most applications do their gradients, but has less features than the segmented gradient.

Initially we could only make segmented gradients in Krita, but in 3.0.2 we can also make stop gradients.

You can make a new gradient by going into the drop-down and selecting the gradient type you wish to have. By default Krita will make a stop-gradient.

Stop Gradients

Stop gradients are very straight forward:

mouseleft on the gradient to add a stop.

mouseleft on the stops to select them, and drag to move them.

mouseright on the stops to remove them. A stop gradient will not allow you to remove stops if there's only two left.

A selected stop can have its color and transparency changed using the color button and the opacity slider below.

As per SVG spec, you can make a sudden change between stops by moving them close together. The stops will overlap, but you can still drag them around.

Segmented Gradients

Segmented gradients are a bit more tricky. Instead of going from color to color, it allows you to define segments, which each can have a begin and end color.

mouseright the gradient to call up this menu:

Split Segment

This splits the current segment in two, using the white arrow, the segment middle as the place to split. It will also use the color at the white arrow to define the new colors in place in the new segments.

Duplicate segment

Similar to split, but instead the two new segments are copies of the old one.

Mirror segment.

Mirrors the segment colors.

Remove segment

Removes the segment.

mouseleft + dragging the black arrows will resize the segments attaching to those arrows. mouseleft + dragging the white arrows will change the mid point of that segment, changing the way how the mixture is made.

At the bottom, you can set the color and transparency of either part of the segment.

You can also set the blending. The first is the interpolation mode:

Linear - Does a linear blending between both segments.

Curved - This causes the mix to ease-in and out faster.

Sine - Uses a sine function. This causes the mix to ease in and out slower.

Sphere, increasing - This puts emphasis on the later color during the mix.

Sphere, decreasing - This puts emphasis on the first color during the mix.

Finally, there's the model:

RGB

Does the blending in RGB model.

HSV clockwise

Blends the two colors using the HSV model, and follows the hue clockwise (red-yellow-green-cyan-blue-purple). The above screenshot is an example of this.

HSV counter-clock wise.

Blends the color as the previous options, but then counter-clockwise.

Patterns

Patterns are small raster files that tile. They can be used as following:

As fill for a vector shape.

As fill-tool color.

As height-map for a brush using the 'texture' functionality.

As fill for a generated layer.

Adding new patterns

You can add new patterns via the pattern docker, or the pattern-quick-access menu in the toolbar. At the bottom of the docker, beneath the resource-filter input field, there are the Import resource and Delete resource buttons. Select the former to add png or jpg files to the pattern list.

Similarly, removing patterns can be done by pressing the :guilabel::Delete resource button. Krita will not delete the actual file then, but rather black list it, and thus not load it.

Temporary patterns and generating patterns from the canvas

You can use the pattern drop-down to generate patterns from the canvas but also to make temporary ones.

First, draw a pattern and open the pattern drop-down.

Then go into custom and first press Update to show the pattern in the docker. Check if it's right. Here, you can also choose whether you use this layer only, or the whole image. Since 3.0.2, Krita will take into account the active selection as well when getting the information of the two.

Then, click either Use as Pattern to use it as a temporary pattern, or Add to predefined patterns to save it into your pattern resources!

You can then start using it in Krita by for example making a canvas and doing Edit --> Fill with Pattern.

Patterns Docker

You can tag patterns here, and filter them with the resource filter.

Workspaces

Workspaces are basically saved configurations of dockers. Each workspace saves how the dockers are grouped and where they are placed on the screen. They allow you to easily move between workflows without having to manual reconfigure your setup each time. They can be as simple or as complex as you want.

Workspaces can only be accessed via the toolbar or Window ‣ Workspaces There's no docker for them. You can save workspaces, in which your current configuration is saved. You can also import them (from a *.kws file), or delete them (which black lists them).

Workspaces can technically be tagged, but outside of the resource manager this is not possible.

Window Layouts

When you work with multiple screens, a single window with a single workspace won't be enough. For multi monitor setups we instead can use sessions. Window layouts allow us to store multiple windows, their positions and the monitor they were on.

You can access Window Layouts from the workspace drop-down in the toolbar.

Primary Workspace Follows Focus

This treats the workspace in the first window as the 'primary' workspace, and when you switch focus, it will switch the secondary windows to that primary workspace. This is useful when the secondary workspace is a very sparse workspace with few dockers, and the primary is one with a lot of different dockers.

Show Active Image In All Windows

This will synchronise the currently viewed image in all windows. Without it, different windows can open separate views for an image via Window ‣ New View ‣ document.kra.

Sessions

Sessions allow Krita to store the images and windows opened. You can tell Krita to automatically save current or recover previous sessions if so configured in the Miscellaneous.

You can access sessions from File ‣ Sessions.

Stroke Selection

Sometimes, you want to add an even border around a selection. Stroke Selection allows you to do this. It's under Edit ‣ Stroke Selection

First make a selection and call up the menu:

The main options are about using the current brush, or lining the selection with an even line. You can use the current foreground color, the background color or a custom color.

Using the current brush allows you to use textured brushes:

Lining the selection also allows you to set the background color, on top of the line width in pixels or inches:

This creates nice silhouettes:

Tools

The contents of the toolbox docker.

Shape Selection Tool

Shape Edit Tool

Text Tool

Gradient Editing Tool

Pattern Editing Tool

Calligraphy Tool

Freehand Brush Tool

Straight Line Tool

Rectangle Tool

Ellipse Tool

Polygon Tool

Polyline Tool

Bezier Curve Tool

Freehand Path Tool

Dynamic Brush Tool

Multibrush Tool

Crop Tool

Move Tool

Transform Tool

Fill Tool

Gradient Tool

Color Selector Tool

Colorize Mask

Grid Tool

Perspective Grid Tool

Smart Patch Tool

Assistant Tool

Reference Images Tool

Measure Tool

Rectangular Selection Tool

Elliptical Selection Tool

Outline Selection Tool

Polygonal Selection Tool

Contiguous Selection Tool

Path Selection Tool

Similar Color Selection Tool

Zoom Tool

Pan Tool

Shape Selection Tool

The shape selection tool used to be called the "default" tool. This had to do with Krita being part of an office suite once upon a time. But this is no longer the case, so we renamed it to its purpose in Krita: Selecting shapes! This tool only works on vector layers, so trying to use it on a paint layer will give a notification.

After you create vector shapes, you can use this tool to select, transform, and access the shape's options in the tool options docker. There are a lot of different properties and things you can do with each vector shape.

Selection

Selecting shapes works as follows. You can click on a shape to select a single shape. You can select multiple shapes with click drag.

There's two types of drag action, a blue one and a green one. The blue one is created by dragging from left to right, and will only select shapes that are fully covered by it. The green selection is created from right to left and will select all shapes it touches.

Rotating, Moving, Scaling, Skewing

Once an object is selected, a dashed box will appear around the object. There are handles that you can pull and stretch the box to scale it. If you move your cursor just outside the corner handles you can rotate the object.

Tool Options

The tool options of this menu are quite involved, and separated over 3 tabs.

Geometry

Geometry is the first section. It allows you to precisely set the x, y, width and height.

Anchor Lock

This is not implemented at the moment.

Uniform scaling

When enabled, it will scale the stroke width with the shape, when not enabled, the stroke with will stay the same.

Global coordinates

Determines whether the width and height bars use the width and height of the object, while taking transforms into account.

Opacity

The general opacity, or transparency, of the object.

Stroke

The stroke tab determines how stroke around the object should look.

The first set of buttons to choose is the fill of the stroke. This has the same features as the fill of the shape, so scroll down a bit for details on that.

Then, there's the settings for the stroke style.

Thickness

The width of the stroke is determined by this entry. When creating a shape, Krita will use the current brush size to determine the width of the stroke.

Cap and corner style

If you press the button after the thickness entry, you will be able to set the stroke cap and the stroke corner style.

Line-style

Determines whether the stroke is solid or uses dashes and dots.

Markers

Which markers can be added to the stroke. Markers are little figures that will appear at the start, end or all the nodes in between depending on your configuration.

Fill

The fill of the shape. As this has the same features as the fill of the stroke, this is explained here as well.

A fill can be a flat color, a gradient or a pattern. Or it can be nothing (transparent)

None

No fill. It's transparent.

Color

A flat color, you can select a new one by pressing the color button.

Gradient

This one has a few more options.

Type

A linear or radial gradient.

Repeat

How the gradient repeats itself.

Preset

A quick menu for choosing a base gradient to edit.

You can edit the gradient in two ways. The first one is the actual gradient in the docker that you can manipulate. Vectors always use stop-gradients. The other way to edit gradients is editing their position on canvas.

Patterns

Patterns aren't implemented yet.

Right-click menu

The shape selection tool has a nice right click menu that gives you several features. If you have an object selected, you can perform various functions like cutting, copying, or moving the object to the front or back.

If you have multiple objects selected you can perform "Logical Operators" on them, or boolean operations as they are commonly called. It will be the last item on the right-click menu. You can combine, subtract, intersect, or split the objects.

Shape Edit Tool

The shape editing tool is for editing vector shapes. In Krita versions before 4.0 it would only show up in the docker when you had a vector shape selected. In Krita 4.0, this tool is always visible and has the Shape Properties docker as a part of it.

You can access the Edit Shapes tool by clicking on the icon in the toolbox, but you can also access it by pressing Enter when in the Shape Selection tool and having a shape selected that can be most efficiently edited with the edit shapes tool (right now, that's all shapes but text).

On Canvas Editing of Shapes

As detailed further in the Tool Options, there's a difference between path shapes and specialized vector shapes that make it easy to have perfect ellipses, rectangles and more.

Path Shapes

Path shapes can be recognized by the different nodes they have.

Paths in Krita are mostly bezier curves, and are made up of nodes. For straight lines, the nodes are connected by a line-segment and that's it. For curved lines, each node has a side handle to allow curving of that segment using the cubic bezier curve algorithm [https://en.wikipedia.org/wiki/B%C3%A9zier_curve#/media/File:B%C3%A9zier_3_big.gif] .

What that means, in short, is that moving the side handles into a given direction will make the segment curve in that direction, and the longer the line of the node to the side handle, the stronger the curving.

Selecting Nodes for Editing

You can select a single node with mouseleft, they will turn bright green if selected.

mouseleft + Shift on unselected nodes will add them to a selection.

mouseleft + drag will make a selection rectangle. All nodes whose handles are touched by the rectangle will be selected. This combines with mouseleft + Shift above.

Selected Nodes

You can add and remove side handles from a selected node with mouseleft + Shift.

Krita has several node-types that allow you control the side handles more efficiently. These are the corner, smooth and symmetric modes.

Corner

Represented by a circle, the corner type allows you to have handles that can point in different directions and have different lengths.

Smooth

Represented by a square, the smooth type will ensure a smooth transition by always pointing the handles into opposite directions, but they can still have different lengths.

Symmetric

Represented by a diamond, the symmetric node will force handles to always point in opposite directions and have the same length.

mouseleft + Ctrl on a selected node will cycle between the node-types.

Del will remove the selected node.

Selected Segments

Segments are the lines between nodes. Hovering over a segment will show a dotted line, indicating it can be selected.

You can mouseleft and drag on a segment to curve it to the mouse point. Clicking on different parts of the segment and dragging will curve it differently.

Double mouseleft on a segment will add a node on the segment under the mouse cursor. The new node will be selected.

Other Shapes

Shapes that aren't path shapes only have a single type of node: A small diamond like, that changes the specific parameters of that shape on-canvas. For example, you can change the corner radius on rectangles by dragging the nodes, or make the ellipse into a pie-segment.

Tool Options

Path shapes have options. The top left options are for converting to different anchor point types. The bottom left options are for adding or removing points. The top right options are for converting the line to different types. The bottom right options are for breaking and joining line segments.

The tool options of the Edit Shapes Tool change depending on the type of shape you have selected. With the exception of the path shape, all shapes have a Convert to Path action, which converts said shape to a path shape.

Path Shapes

toolbeziercurve, toolline, toolpolyline, toolpolygon, toolfreehandpath

Path shapes are the most common shape and can be made with the following tools

Bezier Curve Tool

Straight Line Tool

Polygon Tool

Polyline Tool

Freehand Path Tool

Node Editing

Edit the nodes.

Corner Point

Make the selected node a corner or cusp. This means that the side handles can point in different directions and be different lengths.

Smooth Point

Make the selected node smooth. The two side handles will always point in opposite directions, but their length can be different.

Symmetric Point

Make the selected node smooth. The two side handles will always point in opposite directions, and their length will stay the same.

Insert Point

Insert a new node into the middle of the selected segment.

Remove Point

Remove the selected node.

Line Segment Editing

Edit line segments between nodes.

Segment To Line

Make the current segment a straight line.

Segment To Curve

Make the current segment a curve: It'll add side handles for this segment to the nodes attached to it.

Make Line Point

Turn the selected node into a sharp corner: This will remove the side handles.

Make Curve Point

Turn the selected node into one that can curve: This will add side handles to the node.

Break at Point

Break the path at this point.

Break Segment

Break the path at the selected segment.

Join with Segment

Join two nodes that are only attached on one side with a segment.

Merge Points

Merge two nodes into one, if the nodes are adjacent or if both nodes are only attached on one side with a segment.

Rectangle Shapes

Rectangle shapes are the ones made with the Rectangle Tool. It has extra options to make rounded corners easy.

Corner radius x

The radius of the y-axis of the corner curve.

Corner radius y

The radius of the y-axis of the corner curve.

Ellipse Shapes

Ellipse shapes are the ones made with the Ellipse Tool.

Type

The type of ellipse shape it is.

Arc

An arc shape will keep the path open when it isn't fully circular.

Pie

A pie shape will add two extra lines to the center when the shape isn't fully circular, like how one cuts out a piece from a pie.

Cord

A cord shape will add a straight line between the two ends if the path isn't fully circular, as if a cord is being strung between the two points.

Start Angle

The angle at which the shape starts.

End Angle

The angle at which the shape ends.

Close Ellipse

An action to quickly make the ellipse fully circular.

Text Tool

This tool allows you to add text to your artwork.

You use it by doing mouseleft + drag to create a rectangular selection. When releasing mouseleft a default text will be created and the text editor window will pop-up.

Hovering over other text shapes will highlight their bounding box. mouseleft on a highlighted text will select it as the active text.

Tool Options

Create new texts with...

This contains features with which to create new texts, the following items are available:

Font

The letter type used by newly created texts.

Size in pt

The letter-size used by newly created texts. It is in pts (points), which is a common standard for fonts that is measured 72 points per inch. It therefore will stay proportionally the same size if you increase or decrease canvas dpi.

Anchor/Align text to the left/middle/right

Text alignment. This allows you to align text to the left, center it, or to the right. This is called text-anchor because svg 1.1's multiline text only uses text-anchor, and this is a slight bit different than text-align (and also the reason justify isn't available at the moment).

Edit Text

This will summon the text editor for the currently selected shape. This can be quickly invoked with either pressing Enter or Double - mouseleft the shape.

Text Editor

A small window for all your text editing needs. The Text Editor has two tabs: Rich text and SVG source.

Activating

You can use the Text tool to first create a text box. There are a few options in the tool options if you want to customize how the text will be adding. You will need to drag a rectangle on the canvas to create the text area. Once your text is created, you can edit the text from two ways:

Select the text with the shape selection tool (first tool). Press the Enter key. The text editor will appear.

Select the text with the shape selection tool (first tool). Then click the Text tool. In the tool options there is an Edit Text button. When you click that the text editor window will appear.

Editing

If you are unfamiliar with the way svg text works, use the rich text tab, it will allow you to edit the text as you see it, at the cost of not having all functionality.

If you are a little bit more familiar with svg text, you can directly edit the SVG source. Do note that certain things, like stroke, fill, letter-spacing don't convert back to the rich text editor, so do be careful when switching back.

Press Save as you're done with your edits to preview them on canvas.

File

Save Ctrl + S

Save current edits to the text on canvas.

Close Ctrl + W

Close the editor

Edit

Basic editing functions

Undo Ctrl + Z

Undo the last action in the text editor.

Redo Ctrl + Shift + Z

Redo the last undone action in the text editor.

Cut Ctrl + X

Cut selected text to the clipboard.

Copy Ctrl + C

Copy selected text to the clipboard.

Paste Ctrl + V

Paste text from the clipboard.

Select all Ctrl + A

Select all text in the active editor.

Deselect Ctrl + Shift + A

Deselect any selected text.

Find Ctrl + F

Pops up a window with an input to find the given text in the active editor.

Find Next F3

Searches for the next text using the last search key.

Find Previous Shift + F3

Searches for the last text using the last search key.

Replace... Ctrl + R

Pops up a dialog with two inputs: The string you wish to find, and the string you wish to replace it with. Will always replace ALL found instances.

View

Zoom Out Ctrl + -

Zoom out the text.

Zoom In Ctrl + +

Zoom in the text.

Insert

Special Character... Alt + Shift + C

Pops up a dialog that allows you to search for special characters that are difficult to type in with your keyboard.

Format

Bold Ctrl + B

Set the font-weight to bold.

Italic Ctrl + I

Sets the selected text italic.

Underline Ctrl + U

Underline the selected text.

Strike-Through

Adds a strike-through text decoration.

Superscript Ctrl + Shift + P

Sets the text to super-script baseline.

Subscript Ctrl + Shift + B

Sets the text to subscript baseline.

Weight

Sets the font weight a little more specifically. Possibilities are... Light, Normal, Bold, and Black.

Align Left

Align the selected paragraph to the left.

Align Center Ctrl + Alt + C

Center the selected paragraph.

Align Right Ctrl + Alt + R

Align the selected paragraph to the right.

Settings

Settings...

Calls up the text-editor settings dialog.

Text Editor Settings

The settings that can be configured for the text editor.

Editor Mode

Whether you want both the Rich Text Editor and the SVG Source Editor, or only one of either.

Colors

Here you can configure the syntax highlighting for the SVG source.

Keyword

These highlights important characters like <, /, and >

Element

The format for highlighting the element tag name. text and tspan are examples of element names.

Attribute

The format for highlighting the attributes of the tag. For example, font-family, when it isn't in the style tag is usually written as an attribute.

Value

The format for highlighting value of attributes.

Comment

This highlights xml comments, which are written as following: <!-- This is an xml comment -->. Comments are pieces of text that never get interpreted.

Editor Text Color

The main color of the editor.

Editor background color

The main background color of the editor.

Fonts

This allows you to filter the selection of fonts in the editor by writing system. Some systems have a lot of fonts specifically for showing foreign languages properly, but these might not be useful for you. You just tick the writing systems which you use yourself, and the font drop-down will only show fonts that have full support for that language.

Fine typographic control with the SVG Source tab

So, the rich text editor cannot control all functionality that SVG text allows for. For that, you will need to touch the SVG source directly. But to do that, you will first need to go to the text editor settings and enable either SVG Source or Both. The Rich Text editor will lose some information, so if you go all out, use SVG Source.

Word-spacing, Letter-spacing and Kerning

These three are written and read from the rich text tab, but have no sliders associated with them, because there was no time.

Kerning

Kerning, in SVG 1.1 [https://www.w3.org/TR/SVG/text.html#KerningProperty] behaves slightly differently than font-kerning in css. Krita by default uses the auto property for this, which means it is on. To turn it off use kerning:0 in the style section of the text.

<text style="kerning:0; font-family:Dancing Script; font-size:18pt; font-size-adjust:0.265625">
    <tspan>No Kerning on Valhalla Tower.</tspan>
</text>

Letter-spacing

This is the distance between letters in pts, usually. Just write letter-spacing in the style and add a distance in pts behind it. A negative value will decrease the value between letters.

Word-spacing

This is the extra distance between words, defaulting to pts. By default, word-spacing: 0; will have it use only the width of the space character for that font. A negative value will decrease the amount of space between words:

<text style="font-family:Noto Serif; font-size:12pt; font-size-adjust:0.389915; text-anchor:middle">
    <tspan>No Adjustment.</tspan>
    <tspan style="letter-spacing:2" x="0" dy="22pt">Letter spacing: 2</tspan>
    <tspan style="letter-spacing:-2" x="0" dy="22pt">Letter spacing: -2</tspan>
    <tspan style="word-spacing:5" x="0" dy="22pt">Word spacing: 5</tspan>
    <tspan style="word-spacing:-5" x="0" dy="22pt">Word spacing: -5</tspan>
</text>

x, y, dx, dy

These are even finer-grained controls that can be used to position text. However, they CANNOT be reliably converted to the format of the rich text editor, because the rich text editor uses these to figure out if a line is a new-line and thus writes to these.

X and Y

X and Y are absolute coordinates. But because you cannot change the absolute coordinates of the text from the editor, these get added to the position when they show up in a tspan.

dx and dy

These are relative coordinates to the position of the previous letter.

Font-stretch and Small-caps

These can also be stored and written to the rich text tab's internal format, but they don't get used in the on screen text object.

Dominant Baseline, Alignment baseline, Font-size-adjust, Writing mode, Glyph-orientation, rotate

These are not stored in the rich text right now, and while they can be written into the SVG text, the SVG text-shape doesn't do anything with them.

Krita generates font-size-adjust for the font when coming from rich text, as this can help designers when they want to use the SVG source as a basis for later adjustments.

Gradient Editing Tool

Obsolet desde la versió 4.0: This tool has been removed in Krita 4.0, and its functionality has been folded into the Shape Selection Tool.

This tool allows you to edit the gradient on canvas, but it only works for vector layers. If you have a vector shape selected, and draw a line over the canvas, you will be able to see the nodes, and the stops in the gradient. Move around the nodes to move the gradient itself. Select the stops to change their color in the tool options docker, or to move their position in the on canvas gradient. You can select preset gradient in the tool docker to change the active shape's gradient to use those stops.

Pattern Editing Tool

Obsolet desde la versió 4.0: The pattern editing tool has been removed in 4.0, currently there's no way to edit pattern fills for vectors

The Pattern editing tool works on Vector Shapes that use a Pattern fill. On these shapes, the Pattern Editing Tool allows you to change the size, ratio and origin of a pattern.

On Canvas-editing

You can change the origin by click dragging the upper node, this is only possible in Tiled mode.

You can change the size and ratio by click-dragging the lower node. There's no way to constrain the ratio in on-canvas editing, this is only possible in Original and Tiled mode.

Tool Options

There are several tool options with this tool, for fine-tuning:

First there are the Pattern options.

Repeat:

This can be set to

Original:

This will only show one, unstretched, copy of the pattern.

Tiled (Default):

This will let the pattern appear tiled in the x and y direction.

Stretch:

This will stretch the Pattern image to the shape.

Reference point:

pattern origin. This can be set to

Top-left

Top

Top-right

Left

Center

Right

Bottom-left

Bottom

Bottom-right.

Reference Point Offset:

For extra tweaking, set in percentages.

X:

offset in the X coordinate, so horizontally.

Y:

offset in the Y coordinate, so vertically.

Tile Offset:

The tile offset if the pattern is tiled.

Pattern Size:

Fine Tune the resizing of the pattern.

W:

The width, in pixels.

H:

The height, in pixels.

And then there's Patterns, which is a mini pattern docker, and where you can pick the pattern used for the fill.

Calligraphy Tool

The Calligraphy tool allows for variable width lines, with input managed by the tablet. Press down with the stylus/left mouse button on the canvas to make a line, lifting the stylus/mouse button ends the stroke.

Tool Options

Fill

Doesn't actually do anything.

Calligraphy

The drop-down menu holds your saved presets, the Save button next to it allows you to save presets.

Follow Selected Path

If a stroke has been selected with the default tool, the calligraphy tool will follow this path.

Use Tablet Pressure

Uses tablet pressure to control the stroke width.

Thinning

This allows you to set how much thinner a line becomes when speeding up the stroke. Using a negative value makes it thicker.

Width

Base width for the stroke.

Use Tablet Angle

Allows you to use the tablet angle to control the stroke, only works for tablets supporting it.

Angle

The angle of the dab.

Fixation

The ratio of the dab. 1 is thin, 0 is round.

Caps

Whether or not an stroke will end with a rounding or flat.

Mass

How much weight the stroke has. With drag set to 0, high mass increases the 'orbit'.

Drag

How much the stroke follows the cursor, when set to 0 the stroke will orbit around the cursor path.

Nota

The calligraphy tool can be edited by the edit-line tool, but currently you can't add or remove nodes without converting it to a normal path.

Freehand Brush Tool

The default tool you have selected on Krita start-up, and likely the tool that you will use the most.

The freehand brush tool allows you to paint on paint layers without constraints like the straight line tool. It makes optimal use of your tablet's input settings to control the brush-appearance. To switch the brush, make use of the brush-preset docker.

Hotkeys and Sticky keys

The freehand brush tool's hotkey is B.

The alternate invocation is the ''color picker'' (standardly invoked by Ctrl) Press Ctrl to switch the tool to "color picker", use left or right click to pick fore and background color respectively. Release the Ctrl to return to the freehand brush tool.

The Primary setting is "size". (standardly invoked by Shift) Press Shift and drag outward to increase brush size. Drag inward to decrease it.

You can also press V as a stickykey for the straight-line tool.

The hotkey can be edited in Settings ‣ Configure Krita ‣ Configure Shortcuts. The sticky-keys can be edited in Settings ‣ Configure Krita ‣ Canvas Input Settings.

Tool Options

Smoothing

Smoothing, also known as stabilising in some programs, allows the program to correct the stroke. Useful for people with shaky hands, or particularly difficult long lines.

The following options can be selected:

No Smoothing.

The input from the tablet translates directly to the screen. This is the fastest option, and good for fine details.

Basic Smoothing.

This option will smooth the input of older tablets like the Wacom Graphire 3. If you experience slightly jagged lines without any smoothing on, this option will apply a very little bit of smoothing to get rid of those lines.

Weighted smoothing:

This option allows you to use the following parameters to make the smoothing stronger or weaker:

Distance

The distance the brush needs to move before the first dab is drawn. (Literally the amount of events received by the tablet before the first dab is drawn.)

Stroke Ending

This controls how much the line will attempt to reach the last known position of the cursor after the left-mouse button/or stylus is lifted. Will currently always result in a straight line, so use with caution.

Smooth Pressure

This will apply the smoothing on the pressure input as well, resulting in more averaged size for example.

Scalable Distance

This makes it so that the numbers involved will be scaled along the zoom level.

Stabilizer

This option averages all inputs from the tablet. It is different from weighted smoothing in that it allows for always completing the line. It will draw a circle around your cursor and the line will be a bit behind your cursor while painting.

Distance

This is the strength of the smoothing.

Delay

This toggles and determines the size of the dead zone around the cursor. This can be used to create sharp corners with more control.

Finish Line

This ensures that the line will be finished.

Stabilize sensors

Similar to Smooth Pressure, this allows the input (pressure, speed, tilt) to be smoother.

Scalable Distance

This makes it so that the numbers involved will be scaled along the zoom level.

Assistants

Ticking this will allow snapping to Assistant Tool, and the hotkey to toggle it is Ctrl + Shift + L. See Pintar amb assistents for more information.

The slider will determine the amount of snapping, with 1000 being perfect snapping, and 0 being no snapping at all. For situations where there is more than one assistant on the canvas, the defaultly ticked Snap Single means that Krita will only snap to a single assistant at a time, preventing noise. Unticking it allows you to chain assistants together and snap along them.

Straight Line Tool

This tool is used to draw lines. Click the mouseleft to indicate the first endpoint, keep the button pressed, drag to the second endpoint and release the button.

Hotkeys and Sticky Keys

To activate the Line tool from freehand brush mode, use V. Use other keys afterwards to constraint the line.

Use Shift while holding the mouse button to constrain the angle to multiples of 15º. You can press Alt while still keeping the mouseleft down to move the line to a different location.

Nota

Using the Shift keys BEFORE pushing the holding the left mouse button/stylus down will, in default Krita, activate the quick brush-resize. Be sure to use Shift after

Tool Options

The following options allow you to modify the end-look of the straight-line stroke with tablet-values. Of course, this only work for tablets, and currently only on Paint Layers.

Use sensors

This will draw the line while taking sensors into account. To use this effectively, start the line and trace the path like you would when drawing a straight line before releasing. If you make a mistake, make the line shorter and start over.

Preview

This will show the old-fashioned preview line so you know where your line will end up.

Rectangle Tool

This tool can be used to paint rectangles, or create rectangle shapes on a vector layer. Click and hold mouseleft to indicate one corner of the rectangle, drag to the opposite corner, and release the button.

Hotkeys and Sticky-keys

There's no default hotkey for switching to rectangle.

If you hold Shift while drawing, a square will be drawn instead of a rectangle. Holding Ctrl will change the way the rectangle is constructed. Normally, the first mouse click indicates one corner and the second click the opposite. With Ctrl, the initial mouse position indicates the center of the rectangle, and the final mouse position indicates a corner. You can press Alt while still keeping mouseleft down to move the rectangle to a different location.

You can change between the corner/corner and center/corner drawing methods as often as you want by pressing or releasing Ctrl, provided that you keep mouseleft pressed. With Ctrl pressed, mouse movements will affect all four corners of the rectangle (relative to the center), without Ctrl, one of the corners is unaffected.

Tool Options

Fill

Not filled.

The rectangle will be transparent from the inside.

Foreground color

The rectangle will use the foreground color as fill.

Background color.

The rectangle will use the background color as fill.

Pattern

The rectangle will use the active pattern as fill.

Outline

No Outline

The Rectangle will render without outline.

Brush

The Rectangle will use the current selected brush to outline.

Nota

On vector layers, the rectangle will not render with a brush outline, but rather a vector outline.

Ellipse Tool

Use this tool to paint an ellipse. The currently selected brush is used for drawing the ellipse outline. Click and hold the left mouse button to indicate one corner of the ‘bounding rectangle’ of the ellipse, then move your mouse to the opposite corner. Krita will show a preview of the ellipse using a thin line. Release the button to draw the ellipse.

While dragging the ellipse, you can use different modifiers to control the size and position of your ellipse:

In order to make a circle instead of an ellipse, hold Shift while dragging. After releasing Shift any movement of the mouse will give you an ellipse again:

In order to keep the center of the ellipse fixed and only growing and shrinking the ellipse around it, hold Ctrl while dragging:

In order to move the ellipse around, hold Alt:

You can change between the corner/corner and center/corner dragging methods as often as you want by holding down or releasing Ctrl, provided you keep the left mouse button pressed. With Ctrl pressed, mouse movements will affect all four corners of the bounding rectangle (relative to the center), without Ctrl, the corner opposite to the one you are moving remains still. With Alt pressed, all four corners will be affected, but the size stays the same.

Tool Options

Polygon Tool

With this tool you can draw polygons. Click the mouseleft to indicate the starting point and successive vertices, then double-click or press Enter to connect the last vertex to the starting point.

Shift + Z undoes the last clicked point.

Tool Options

Polyline Tool

Polylines are drawn like Polygon Tool, with the difference that the double-click indicating the end of the polyline does not connect the last vertex to the first one.

Bezier Curve Tool

You can draw curves by using this tool. Click the mouseleft to indicate the starting point of the curve, then click again for consecutive control points of the curve.

Krita will show a blue line with two handles when you add a control point. You can drag these handles to change the direction of the curve in that point.

On a vector layer, you can click on a previously inserted control point to modify it. With an intermediate control point (i.e. a point that is not the starting point and not the ending point), you can move the direction handles separately to have the curve enter and leave the point in different directions. After editing a point, you can just click on the canvas to continue adding points to the curve.

Pressing Del will remove the currently selected control point from the curve. Double-click the mouseleft on any point of the curve or press Enter to finish drawing, or press Esc to cancel the entire curve. You can use Ctrl while keeping the mouseleft pressed to move the entire curve to a different position.

While drawing Ctrl while dragging will push the handles both ways. Alt will create a sharp corner, and Shift will allow you to make a handle while at the end of the curve. mouseright will undo the last added point.

Tool Options

Novetat de la versió 4.1.3:

Autosmooth Curve

Toggling this will have nodes initialize with smooth curves instead of angles. Untoggle this if you want to create sharp angles for a node. This will not affect curve sharpness from dragging after clicking.

Angle Snapping Delta

The angle to snap to.

Activate Angle Snap

Angle snap will make it easier to have the next line be at a specific angle of the current. The angle is determined by the Angle Snapping Delta.

Freehand Path Tool

With the Freehand Path Tool you can draw a path (much like the Motor del pinzell de formes) the shape will then be filled with the selected color or pattern and outlined with a brush if so chosen. While drawing a preview line is shown that can be modified in pattern, width and color.

This tool can be particularly good for laying in large swaths of color quickly.

Dynamic Brush Tool

Add custom smoothing dynamics to your brush. This will give you similar smoothing results as the normal freehand brush. There are a couple options that you can change.

Mass

Average your movement to make it appear smoother. Higher values will make your brush move slower.

Drag

A rubberband effect that will help your lines come back to your cursor. Lower values will make the effect more extreme.

Recommended values are around 0.02 Mass and 0.92 Drag.

Multibrush Tool

The Multibrush tool allows you to draw using multiple instances of a freehand brush stroke at once, it can be accessed from the Toolbox docker or with the default shortcut Q. Using the Multibrush is similar to toggling the Eines d'emmirallar, but the Multibrush is more sophisticated, for example it can mirror freehand brush strokes along a rotated axis.

The settings for the tool will be found in the tool options dock.

The multibrush tool has three modes and the settings for each can be found in the tool options dock. Symmetry and mirror reflect over an axis which can be set in the tool options dock. The default axis is the center of the canvas.

The three modes are:

Symmetry

Symmetry will reflect your brush around the axis at even intervals. The slider determines the number of instances which will be drawn on the canvas.

Mirror

Mirror will reflect the brush across the X axis, the Y axis, or both.

Translate

Translate will paint the set number of instances around the cursor at the radius distance.

Snowflake

This works as a mirrored symmetry, but is a bit slower than symmetry+toolbar mirror mode.

The assistant and smoothing options work the same as in the Freehand Brush Tool, though only on the real brush and not its copies.

Crop Tool

The crop tool can be used to crop an image or layer. To get started, choose the Crop tool and then click once to select the entire canvas. Using this method you ensure that you don't inadvertently grab outside of the visible canvas as part of the crop. You can then use the options below to refine your crop. Press Enter to finalize the crop action, or use the Crop button in the tool options docker.

At its most basic, the crop tool allows you to size a rectangle around an area and reduce your image or layer to only that content which is contained within that area. There are several options which give a bit more flexibility and precision.

The two numbers on the left are the exact horizontal position and vertical position of the left and top of the cropping frame respectively. The numbers are the right are from top to bottom: width, height, and aspect ratio. Selecting the check boxes will keep any one of these can be locked to allow you to manipulate the other two without losing the position or ratio of the locked property.

Center

Keeps the crop area centered.

Grow

Allows the crop area to expand beyond the image boundaries.

Applies to

Lets you apply the crop to the entire image or only to the active layer. When you are ready, hit the Crop button and the crop will apply to your image.

Decoration

Help you make a composition by showing you lines that divide up the screen. You can for example show thirds here, so you can crop your image according to the Rule of Thirds.

Continuous Crop

If you crop an image, and try to start a new one directly afterwards, Krita will attempt to recall the previous crop, so you can continue it. This is the continuous crop. You can press Esc to cancel this and crop anew.

Move Tool

With this tool, you can move the current layer or selection by dragging the mouse.

Move current layer

Anything that is on the selected layer will be moved

Move layer with content

Any content contained on the layer that is resting under the four-headed Move cursor will be moved

Move the whole group

All content on all layers will move. Depending on the number of layers this might result in slow and, sometimes, jerky movements. Use this option sparingly or only when necessary.

Shortcut move distance (3.0+)

This allows you to set how much, and in which units, the &larr;, &uarr;, &rarr; and &darr; actions will move the layer.

Large Move Scale (3.0+)

Allows you to multiply the movement of the Shortcut Move Distance when pressing Shift before pressing a direction key.

Show coordinates

When toggled will show the coordinates of the top-left pixel of the moved layer in a floating window.

Constrained movement

If you click, then press Shift, then move the layer, movement is constrained to the horizontal and vertical directions. If you press Shift, then click, then move, all layers will be moved, with the movement constrained to the horizontal and vertical directions

Position

Gives the top-left coordinate of the layer, can also be manually edited.

Transform Tool

The Transform tool lets you quickly transform the current selection or layer. Basic transformation options include resize, rotate and skew. In addition, you have the option to apply advanced transforms such as Perspective, Warp, Cage and Liquid. These are all powerful options and will give you complete control over your selections/layers.

When you first invoke the tool, handles will appear at the corners and sides, which you can use to resize your selection or layer. You can perform rotations by moving the mouse above or to the left of the handles and dragging it. You can also click anywhere inside the selection or layer and move it by dragging the mouse.

You can fine-tune the transform tool parameters using tool options docker. The parameters are split between five tabs: Free Transform, Warp, Perspective, Cage and Liquify.

Free Transform docker

Free transform

This allows you to do basic rotation, resizing, flipping, and even perspective skewing if you hold Ctrl. Holding the Shift key will maintain your aspect ratio throughout the transform.

Free transform in action.

If you look at the bottom, there are quick buttons for flipping horizontally, vertically and rotating 90 degrees left and right. Furthermore, the button to the left of the anchor point widget allows you to choose whether to always transform using the anchor point, or not.

Video of how to use the anchor point for resizing. [https://www.youtube.com/watch?v=grzccBVd0O8]

Perspective

While free transform has some perspective options, the perspective transform allows for maximum control. You can drag the corner points, or even the designated vanishing point.

You can also change the size, shear and position transform while remaining in perspective with the tool-options.

Perspective transform

Warp

Warp allows you to deform the image by dragging from a grid or choosing the dragging points yourself.

Warp Option

Free transform in action.

There are warp options: Rigid, Affine and Similtude. These change the algorithm used to determine the strength of the deformation. The flexibility determines, how strong the effect of moving these points are.

Anchor Points

You can divide these either by subdivision or drawing custom points.

Subdivision

This allows you to subdivide the selected area into a grid.

Draw

Draw the anchor points yourself. Locking the points will put you in transform mode. Unlocking the points back into edit mode.

Cage

Create a cage around an image, and when it's closed, you can use it to deform the image. If you have at the least 3 points on the canvas, you can choose to switch between deforming and editing the existing points.

Transforming a straight banana to be curved with the cage tool

Hotkeys

Both Cage and Warp use little nodes. These nodes can be selected and deselected together by pressing Ctrl before clicking nodes.

Then you can move them by pressing the cursor inside the bounding box. Rotating is done by pressing and dragging the cursor outside the bounding box and scaling the same, only one presses Ctrl before doing the motion.

Liquify

Like our deform brush, the liquify brush allows you to draw the deformations straight on the canvas.

Move

Drag the image along the brush stroke.

Scale

Grow/Shrink the image under the cursor.

Rotate

Twirl the image under the cursor

Offset

Shift the image under the cursor.

Undo

Erases the actions of other tools.

Liquify used to turn an apple into a pear

In the options for each brush there are:

Mode

This is either Wash or Build up. Wash will normalize the effect to be between none, and the amount parameter as maximum. Build up will just add on until it's impossible.

Size

The brush size. The button to the right allow you to let it scale with pressure.

Amount

The strength of the brush. The button to the right lets it scale with tablet pressure.

Flow

Only applicable with Build up.

Spacing

The spacing of the liquify dabs.

Reverse

Reverses the action, so grow becomes shrink, rotate results in clockwise becoming counter-clockwise.

liquify on the left and deform brush on the right.

Krita also has a Motor del pinzell de deformació which is much faster than liquify, but has less quality. If you are attempting to make liquefy a little faster, note that it speeds up with the less information it needs to process, so working with liquefy within a selection or using liquefy on a separate layer with little on it will greatly enhance the speed.

Recursive Transform

The little spider icon on the lower-left of the transform tool options is the Recursive Transform.

Recursive transform transforms all the layers in the group, so with this apple, both the lineart as the fill will be transformed.

Recursive transform, when toggled, allows you to mass-transform all the layers in a group when only transforming the group.

Continuous Transform

If you apply a transformation, and try to start a new one directly afterwards, Krita will attempt to recall the previous transform, so you can continue it. This is the continuous transform. You can press Esc to cancel this and start a new transform, or press Reset in the tool options while no transform is active.

Transformation Masks

These allow you make non-destructive transforms, check here for more info.

Fill Tool

Krita has one of the most powerful and capable Fill functions available. The options found in the Tool Options docker and outlined below will give you a great deal of flexibility working with layers and selections.

To get started, clicking anywhere on screen with the fill-tool will allow that area to be filed with the foreground color.

Tool Options

Fast Mode

This is a special mode for really fast filling. However, many functions don't work with this mode.

Threshold

Determines when the fill-tool sees another color as a border.

Grow Selection

This value extends the shape beyond its initial size.

Feathering Radius

This value will add a soft border to the filled-shape.

Fill Entire Selection

Activating this will result in the shape filling the whole of the active selection, regardless of threshold.

Limit to current layer

Activating this will prevent the fill tool from taking other layers into account.

Use Pattern

Ticking this will result in the active pattern being used.

Gradient Tool

The Gradient tool is found in the Tools Panel. Left-Click dragging this tool over the active portion of the canvas will draw out the current gradient. If there is an active selection then, similar to the Fill Tool, the paint action will be confined to the selection's borders.

Tool Options

Shape:

Linear

This will draw the gradient straight.

Radial

This will draw the gradient from a center, defined by where you start the stroke.

Square

This will draw the gradient from a center in a square shape, defined by where you start the stroke.

Conical

This will wrap the gradient around a center, defined by where you start the stroke.

Conical-symmetric

This will wrap the gradient around a center, defined by where you start the stroke, but will mirror the wrap once.

Shaped

This will shape the gradient depending on the selection or layer.

Repeat:

None

This will extend the gradient into infinity.

Forward

This will repeat the gradient into one direction.

Alternating

This will repeat the gradient, alternating the normal direction and the reversed.

Reverse

Reverses the direction of the gradient.

Antialias threshold

Doesn't do anything, original function must have gotten lost in a port.

Color Selector Tool

This tool allows you to choose a point from the canvas and make the color of that point the active foreground color. When a painting or drawing tool is selected the Color Picker tool can also be quickly accessed by pressing Ctrl.

There are several options shown in the Tool Options docker when the Color Picker tool is active:

The first drop-down box allows you to select whether you want to sample from all visible layers or only the active layer. You can choose to have your selection update the current foreground color, to be added into a color palette, or to do both.

Novetat de la versió 4.1: The middle section contains a few properties that change how the Color Picker picks up color; you can set a Radius, which will average the colors in the area around the cursor, and you can now also set a Blend percentage, which controls how much color is "soaked up" and mixed in with your current color. Read Mixing Colors for information about how the Color Picker's blend option can be used as a tool for off-canvas color mixing.

At the very bottom is the Info Box, which displays per-channel data about your most recently picked color. Color data can be shown as 8-bit numbers or percentages.

Colorize Mask

A tool for quickly coloring line art, the Colorize Mask Editing tool can be found next to the gradient tool on your toolbox.

This feature is technically already in 3.1, but disabled by default because we had not optimized the filling algorithm for production use yet. To enable it, find your krita configuration file, open it in notepad, and add "disableColorizeMaskFeature=false" to the top. Then restart Krita. Its official incarnation is in 4.0.

Usage

This tool works in conjunction with the colorize mask, and the usage is as follows:

For this example, we'll be using the ghost lady also used to explain masks on the basic concepts page.

This image has the line art for the lady separated from the background, and what's more, the background is made up of two layers: one main and one for the details.

First, select the colorize mask editing tool while having the line art layer selected. mouseleft the canvas will add a colorize mask to the layer. You can also mouseright the line art layer, and then Add ‣ Colorize Mask. The line art will suddenly become really weird, this is the prefiltering which are filters through which we put the line art to make the algorithm easier to use. The tool options overview below shows which options control that.

Now, you make strokes with brush colors, press Update in the tool options, or tick the last icon of the colorize mask properties. In the layer docker, you will be able to see a little progress bar appear on the colorize mask indicating how long it takes. The bigger your file, the longer it will take.

We want to have the blue transparent. In the tool options of the colorize editing tool you will see a small palette. These are the colors already used. You can remove colors here, or mark a single color as standing for transparent, by selecting it and pressing "transparent". Updating the mask will still show the blue stroke, but the result will be transparent:

Because the colorize mask algorithm is slow, and we only need a part of our layer to be filled to fill the whole ghost lady figure, we can make use of Limit to layer bounds. This will limit Colorize Mask to use the combined size of the line art and the coloring key strokes. Therefore, make sure that the colorizing keystrokes only take up as much as they really need.

Now the algorithm will be possibly a lot faster, allowing us to add strokes and press Update in rapid succession:

To see the final result, disable Edit Key Strokes or toggle the second to last icon on the colorize mask.

If you want to edit the strokes again, re-enable Edit Key Strokes.

Now, the colorize mask, being a mask, can also be added to a group of line art layers. It will then use the composition of the whole group as the line art. This is perfect for our background which has two separate line art layers. It also means that the colorize mask will be disabled when added to a group with pass-through enabled, because those have no final composition. You can recognize a disabled colorize mask because its name is stricken through.

To add a colorize mask to a group, select the group and mouseleft the canvas with the Colorize Mask editing tool, or mouseright the layer to Add ‣ Colorize Mask.

Now, we add strokes to the background quickly. We do not need to use the Limit to Layer Bounds because the background covers the whole image.

For the record, you can use other brushes and tools also work on the colorize mask as long as they can draw. The Colorize Mask Editing tool is just the most convenient because you can get to the algorithm options.

Out final result looks like this:

Now we are done, mouseright the colorize mask and Convert ‣ to Paint Layer. Then, Layer ‣ Split ‣ Split Layer. This will give separate color islands that you can easily edit:

This way we can very quickly paint the image. Due to the colorize mask going from the first image to the following took only 30 minutes, and would've taken quite a bit longer.

The colorize masks are saved to the .kra file, so as long as you don't save and open to a different file format, nor convert the colorize mask to a paintlayer, you can keep working adjust the results.

Tool Options

Update

Run the colorize mask algorithm. The progress bar for updates on a colorize mask shows only in the layer docker.

Edit key strokes

Put the mask into edit mode. In edit mode, it will also show the 'prefiltering' on the line art, which is for example a blur filter for gap closing.

Show output

Show the output of the colorize mask. If Edit key strokes is active, this will be shown semi-transparently, so it will be easy to recognize the difference between the strokes and the output.

On the Left: Show Output is on, Edit Key Strokes is off. In the Middle: Show Output and Edit Key Strokes are on. On the Right: Show Output is off and Edit Key Strokes is on.

Limit to layer bounds

Limit the colorize mask to the combined layer bounds of the strokes and the line art it is filling. This can speed up the use of the mask on complicated compositions, such as comic pages.

Edge detection

Activate this for line art with large solid areas, for example shadows on an object. For the best use, set the value to the thinnest lines on the image. In the image below, note how edge detection affects the big black areas:

From left to right: an example with big black shadows on an object but no edge detection, the same example without the edit key strokes enabled. Then the same example with edge detection enabled and set to 2px, and that same example without edit key strokes enabled.

Gap close hint

While the algorithm is pretty good against gaps in contours, this will improve the gap recognition. The higher this value is, the bigger the gaps it will try to close, but a too high value can lead to other errors. Note how the prefiltered line art (that's the blurry haze) affects the color patches.

On the Left: Gap close hint is 0px. In the Middle: Gap close hint is 15px (the lines are 10px). On the Right: Gap close hint is 275px.

Clean up

This will attempt to handle messy strokes that overlap the line art where they shouldn't. At 0 no clean up is done, at 100% the clean-up is most aggressive.

Key strokes

This palette keeps track of the colors used by the strokes. This is useful so you can switch back to colors easily. You can increase the swatch size by hovering over it with the mouse, and doing Ctrl + mousescroll.

Transparent

This button is under the keystrokes palette, you can mark the selected color to be interpreted a 'transparent' with this. In the clean-up screenshot above, cyan had been marked as transparent.

Layer properties

The colorize mask layer has four properties. They are all the buttons on the right side of the layer:

Show output

The first button, it allows you to toggle whether you'll see the output from the colorize algorithm.

Lock

Stops the mask from being edited.

Edit key strokes

Whether the colorize mask is in edit mode. In edit mode it'll show the strokes, and the output will be semi-transparent.

Update

The last button will force the colorize mask to update, even when you're in a different tool.

Colorize masks cannot be animated.

Grid Tool

Obsolet desde la versió 3.0: Deprecated in 3.0, use the Grids and Guides Docker instead.

When you click on the edit grid tool, you'll get a message saying that to activate the grid you must press Enter. Press Enter to make the grid visible. Now you must have noticed the tool icon for your pointer has changed to icon similar to move tool.

To change the spacing of the grid, press and hold Ctrl and then mouseleft + drag on the canvas. In order to move the grid you have to press Alt and then mouseleft + drag.

Perspective Grid Tool

Obsolet desde la versió 3.0: Deprecated in 3.0, use the Perspectiva instead.

The perspective grid tool allows you to draw and manipulate grids on the canvas that can serve as perspective guides for your painting. A grid can be added to your canvas by first clicking the tool in the tool bar and then clicking four points on the canvas which will serve as the four corners of your grid.

The grid can be manipulated by pulling on any of its four corners. The grid can be extended by clicking and dragging a midpoint of one of its edges. This will allow you to expand the grid at other angles. This process can be repeated on any subsequent grid or grid section. You can join the corners of two grids by dragging one onto the other. Once they are joined they will always move together, they cannot be separated. You can delete any grid by clicking on the red X at its center. This tool can be used to build reference for complex scenes.

As displayed while the Perspective Grid tool is active: *

As displayed while any other tool is active: *

You can toggle the visibility of the grid from the main menu View ‣ Show Perspective Grid option. You can also clear any grid setup you have and start over by using the View ‣ Clear Perspective Grid.

Smart Patch Tool

The smart patch tool allows you to seamlessly remove elements from the image. It does this by letting you draw the area which has the element you wish to remove, and then it will attempt to use patterns already existing in the image to fill the blank.

You can see it as a smarter version of the clone brush.

The smart patch tool has the following tool options:

Accuracy

Accuracy indicates how many samples, and thus how often the algorithm is run. A low accuracy will do few samples, but will also run the algorithm fewer times, making it faster. Higher accuracy will do many samples, making the algorithm run more often and give more precise results, but because it has to do more work, it is slower.

Patch size

Patch size determines how big the size of the pattern to choose is. This will be best explained with some testing, but if the surrounding image has mostly small elements, like branches, a small patch size will give better results, while a big patch size will be better for images with big elements, so they get reused as a whole.

Assistant Tool

Create, edit, and remove drawing assistants on the canvas. There are a number of different assistants that can be used from this tool. The tool options allow you to add new assistants, and to save/load assistants. To add a new assistant, select a type from the tool options and begin clicking on the canvas. Each assistant is created a bit differently. There are also additional controls on existing assistants that allow you to move and delete them.

The set of assistants on the current canvas can be saved to a "*.paintingassistant" file using the Save button in the tool options. These assistants can then be loaded onto a different canvas using the Open button. This functionality is also useful for creating copies of the same drawing assistant(s) on the current canvas.

Check Pintar amb assistents for more information.

Tool Options

Novetat de la versió 4.0.

Global Color:

Global color allows you to set the color and opacity of all assistants at once.

Novetat de la versió 4.1.

Custom Color:

Custom color allows you to set a color and opacity per assistant, allowing for different colors on an assistant. To use this functionality, first 'select' an assistant by tapping its move widget. Then go to the tool options docker to see the Custom Color check box. Check that, and then use the opacity and color buttons to pick either for this particular assistant.

Reference Images Tool

Novetat de la versió 4.1.

The reference images tool is a replacement for the reference images docker. You can use it to load images from your disk as reference, which can then be moved around freely on the canvas and placed wherever.

Tool Options

Add reference image

Load a single image to display on the canvas.

Load Set

Load a set of reference images.

Save Set

Save a set of reference images.

Delete all reference images

Delete all the reference images

Keep aspect ratio

When toggled this will force the image to not get distorted.

Opacity

Lower the opacity.

Saturation

Desaturate the image. This is useful if you only want to focus on the light/shadow instead of getting distracted by the colors.

Storage mode

How is the reference image stored.

Embed to *.kra

Store this reference image into the kra file. This is recommended for small vital files you'd easily lose track of otherwise.

Link to external file.

Only link to the reference image, krita will open it from the disk everytime it loads this file. This is recommended for big files, or files that change a lot.

You can move around reference images by selecting them with mouseleft, and dragging them. You can rotate reference images by holding the cursor close to the outside of the corners till the rotate cursor appears, while tilting is done by holding the cursor close to the outside of the middle nodes. Resizing can be done by dragging the nodes. You can delete a single reference image by clicking it and pressing Del. You can select multiple reference images with Shift and perform all of these actions.

To hide all reference images temporarily use View ‣ Show Reference Images.

Measure Tool

This tool is used to measure distances and angles. Click the mouseleft to indicate the first endpoint or vertex of the angle, keep the button pressed, drag to the second endpoint and release the button. The results will be shown on the Tool Options docker. You can choose the length units from the drop-down list.

Tool Options

The measure tool-options allow you to change between the units used. Unit conversion varies depending on the DPI setting of a document.

Rectangular Selection Tool

This tool, represented by a rectangle with a dashed border, allows you to make Seleccions of a rectangular area. Simply click and drag around the section you wish to select.

Hotkeys and Stickykeys

J selects this tool.

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift after starting the selection, constraints it to a perfect square.

Ctrl after starting the selection, makes the selection resize from center.

Alt after starting the selection, allows you to move it.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Nota

So to subtract a perfect square, you do Alt + mouseleft, then release the Alt key while dragging and press Shift to constrain.

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Anti-aliasing

This toggles whether or not to give selections feathered edges. Some people prefer hard-jagged edges for their selections.

Width

Gives the current width. Use the lock to force the next selection made to this width.

Height

Gives the current height. Use the lock to force the next selection made to this height.

Ratio

Gives the current ratio. Use the lock to force the next selection made to this ratio.

Novetat de la versió 4.1.3:

Round X

The horizontal radius of the rectangle corners.

Round Y

The vertical radius of the rectangle corners.

Elliptical Selection Tool

This tool, represented by an ellipse with a dashed border, allows you to make Seleccions of a elliptical area. Simply click and drag around the section you wish to select.

Hotkeys and Stickykeys

J selects this tool.

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift after starting the selection, constraints it to a perfect circle.

Ctrl after starting the selection, makes the selection resize from center.

Alt after starting the selection, allows you to move it.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Nota

So to subtract a perfect circle, you do Alt + mouseleft, then release the Alt key while dragging and press Shift to constrain.

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Anti-aliasing

This toggles whether or not to give selections feathered edges. Some people prefer hard-jagged edges for their selections.

Width

Gives the current width. Use the lock to force the next selection made to this width.

Height

Gives the current height. Use the lock to force the next selection made to this height.

Ratio

Gives the current ratio. Use the lock to force the next selection made to this ratio.

Outline Selection Tool

Make Seleccions by drawing freehand around the canvas. Click and drag to draw a border around the section you wish to select.

Hotkeys and Sticky keys

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Anti-aliasing

This toggles whether or not to give selections feathered edges. Some people prefer hard-jagged edges for their selections.

Polygonal Selection Tool

This tool, represented by a polygon with a dashed border, allows you to make Seleccions of a polygonal area point by point. Click where you want each point of the Polygon to be. Double click to end your polygon and finalize your selection area.

Hotkeys and Sticky keys

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Anti-aliasing

This toggles whether or not to give selections feathered edges. Some people prefer hard-jagged edges for their selections.

Contiguous Selection Tool

This tool, represented by a magic wand, allows you to make Seleccions by selecting a point of color. It will select any contiguous areas of a similar color to the one you selected. You can adjust the "fuzziness" of the tool in the tool options dock. A lower number will select colors closer to the color that you chose in the first place.

Hotkeys and Sticky keys

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Anti-aliasing

This toggles whether or not to give selections feathered edges. Some people prefer hard-jagged edges for their selections.

Fuzziness

This controls whether or not the contiguous selection sees another color as a border.

Grow/Shrink selection.

This value extends/contracts the shape beyond its initial size.

Feathering

This value will add a soft border to the selection-shape.

Limit to Current Layer

Activating this will prevent the fill tool from taking other layers into account.

Path Selection Tool

This tool, represented by an ellipse with a dashed border and a curve control, allows you to make a Seleccions of an area by drawing a path around it. Click where you want each point of the path to be. Click and drag to curve the line between points. Finally click on the first point you created to close your path.

Hotkeys and Sticky keys

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Avís

Selection modifiers don't quite work yet with the path tool, as Shift breaks the path

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Novetat de la versió 4.1.3:

Autosmooth Curve

Toggling this will have nodes initialize with smooth curves instead of angles. Untoggle this if you want to create sharp angles for a node. This will not affect curve sharpness from dragging after clicking.

Anti-aliasing

This toggles whether or not to give selections feathered edges. Some people prefer hard-jagged edges for their selections.

Similar Color Selection Tool

This tool, represented by a dropper over an area with a dashed border, allows you to make Seleccions by selecting a point of color. It will select any areas of a similar color to the one you selected. You can adjust the "fuzziness" of the tool in the tool options dock. A lower number will select colors closer to the color that you chose in the first place.

Hotkeys and Sticky keys

R sets the selection to 'replace' in the tool options, this is the default mode.

A sets the selection to 'add' in the tool options.

S sets the selection to 'subtract' in the tool options.

Shift + mouseleft sets the subsequent selection to 'add'. You can release the Shift key while dragging, but it will still be set to 'add'. Same for the others.

Alt + mouseleft sets the subsequent selection to 'subtract'.

Ctrl + mouseleft sets the subsequent selection to 'replace'.

Shift + Alt + mouseleft sets the subsequent selection to 'intersect'.

Nota

You can switch the behaviour of the Alt key to use Ctrl instead by toggling the switch in the General Settings

Tool Options

Fuzziness

This controls whether or not the contiguous selection sees another color as a border.

Zoom Tool

The zoom tool allows you to zoom your canvas in and out discretely. It can be found at the bottom of the toolbox, and you just activate it by selecting the tool, and doing mouseleft on the canvas will zoom in, while mouseright will zoom out.

You can reverse this behaviour in the Tool Options.

There's a number of hotkeys associated with this tool, which makes it easier to access from the other tools:

Ctrl + Space + mouseleft + drag on the canvas will zoom in or out fluently.

Ctrl + mousemiddle + drag on the canvas will zoom in or out fluently.

Ctrl + Alt + Space + mouseleft + drag on the canvas will zoom in or out with discrete steps.

Ctrl + Alt + mousemiddle + drag on the canvas will zoom in or out with discrete steps.

+ will zoom in with discrete steps.

- will zoom out with discrete steps.

1 will set the zoom to 100%.

2 will set the zoom so that the document fits fully into the canvas area.

3 will set the zoom so that the document width fits fully into the canvas area.

For more information on such hotkeys, check Navegació.

Pan Tool

The pan tool allows you to pan your canvas around freely. It can be found at the bottom of the toolbox, and you just it by selecting the tool, and doing mouseleft + drag over the canvas.

There's two hotkeys associated with this tool, which makes it easier to access from the other tools:

Space + mouseleft + drag over the canvas.

mousemiddle + drag over the canvas.

For more information on such hotkeys, check Navegació.

Guies d'aprenentatge i Com es fa (Howto)

Apreneu de les guies d'aprenentatge generades pels desenvolupadors i usuaris per a veure el Krita en acció.

Contingut:

Clipping Masks and Alpha Inheritance

Common Workflows

Speed Painting and Conceptualizing

Colorizing Line Art

Painting

Preparing Tiles and Textures

Creating Pixel Art

Flat Coloring

Understanding Layers

Preparing your line art

The Multiply Blending Mode

Using Selections

Using Masks

Using Color to Alpha

Fill Tool

Selections

Geometric tools

Colorize Mask

Conclusion

Inking

Pose

Stroke smoothing

Bezier curves and other tools

Presets

Preparing sketches for inking

Super-thin lines

Brush-tips:Animated Brushes

Question

Brush Tips: Bokeh

Question

Brush Tips: Caustics

Question

Brush-tips:Fur

Question

Brush-tips:Hair

Brush-tips:Outline

Question

Brush-tips:Rainbow Brush

Question

Brush-tips:Sculpt-paint-brush

Question

Making An Azalea With The Transformation Masks

Let’s get to drawing!

Clone Layers

Enter Transform Masks!

Desar per a la web

JPG

PNG

GIF

Clipping Masks and Alpha Inheritance

Krita doesn't have clipping mask functionality in the manner that Photoshop and programs that mimic Photoshop's functionality have. That's because in Krita, unlike such software, a group layer is not an arbitrary collection of layers. Rather, in Krita, group layers are composited separately from the rest of the stack, and then the result is added into the stack. In other words, in Krita group layers are in effect a separate image inside your image.

The exception is when using pass-through mode, meaning that alpha inheritance won't work right when turning on pass-through on the layer.

When we turn on alpha inheritance, the alpha-inherited layer keeps the same transparency as the layers below.

Combined with group layers this can be quite powerful. A situation where this is particularly useful is the following:

Here we have an image with line art and a layer for each flat of colors. We want to add complicated multi-layered shading to this, while keeping the neatness of the existing color flats. To get a clipping mask working, you first need to put layers into a group. You can do this by making a group layer and drag-and-dropping the layers into it, or by selecting the layers you want grouped and pressing Ctrl+G. Here we do that with the iris and the eye-white layers.

We add a layer for the highlight above the other two layers, and add some white scribbles.

In the above, we have our layer with a white scribble on the left, and on the right, the same layer, but with alpha inheritance active, limiting it to the combined area of the iris and eye-white layers.

Now there’s an easier way to set up alpha inheritance. If you select a layer or set of layers and press Ctrl+Shift+G, you create a quick clipping group. That is, you group the layers, and a ‘mask layer’ set with alpha inheritance is added on top.

The fact that alpha inheritance can use the composited transparency from a combination of layers means that you can have a layer with the erase-blending mode in between, and have that affect the area that the layer above is clipped to. Above, the lower image is exactly the same as the upper one, except with the erase-layer hidden. Filters can also affect the alpha inheritance:

Above, the blur filter layer gives different results when in different places, due to different parts being blurred.

Common Workflows

Krita's main goal is to help artists create a digital painting from scratch. Krita is used by comic artists, matte painters, texture artists, and illustrators around the world. This section explains some common workflow that artists use in Krita. When you open a new document in Krita for the first time, you can start painting instantly. The brush tool is selected by default and you just have to paint on the canvas. However, let us look at what artists do in Krita. Below are some of the common workflows used in Krita:

Speed Painting and Conceptualizing

Some artists work only on the digital medium, sketching and visualizing concepts in Krita from scratch. As the name suggests a technique of painting done within a matter of hours to quickly visualize the basic scene, character, look and feel of the environment or to denote the general mood and overall concept is called a speed painting. Finishing and finer details are not the main goals of this type of painting, but the representation of form value and layout is the main goal.

Some artists set a time limit to complete the painting while some paint casually. Speed painting then can be taken forward by adding finer details and polish to create a final piece. Generally, artists first block in the composition by adding patches and blobs of flat colors, defining the silhouette, etc. Krita has some efficient brushes for this situation, for example, the brush under Block Tag like Block fuzzy, Block basic, layout_block, etc.

After the composition and a basic layout has been laid out the artists add as many details as possible in the given limited time, this requires a decent knowledge of forms, value perspective and proportions of the objects. Below is an example of speed paint done by David Revoy [http://www.davidrevoy.com/] in an hours time.

Artwork by David Revoy, license : CC-BY [http://creativecommons.org/licenses/by/3.0/]

You can view the recorded speed painting demo for the above image on Youtube [https://www.youtube.com/watch?v=93lMLEuxSLk].

Colorizing Line Art

Often an artist, for example, a comic book colorist will need to take a pencil sketch or other line art of some sort and use Krita to paint underneath it. This can be either an image created digitally or something that was done outside the computer and has been scanned.

Preparing the line art

If your images have a white or other single-tone background, you can use either of the following methods to prepare the art for coloring:

Place the line art at the top of the layer stack and set its layer blending mode to Multiply

If you want to clean the line art a bit you can press Ctrl + L or go to Filters ‣ Adjust ‣ Levels

You can clean the unwanted grays by moving the white triangle in the input levels section to left and darken the black by moving the black triangle to right.

If you draw in blue pencils and then ink your line art you may need to remove the blue lines first to do that go to Filters ‣ Adjust ‣ Color adjustment curves or press shortcut Ctrl + M.

Now select Red from the drop-down, click on the top right node on the graph and slide it all the way down. Or you can click on the top right node and enter 0 in the input field. Repeat this step for Green too.

Now the whole drawing will have a blue overlay, zoom in and check if the blue pencil lines are still visible slightly. If you still see them, then go to Blue Channel in the color adjustment and shift the top right node towards left a bit, Or enter a value around 190 (one that removes the remaining rough lines) in the input box.

Now apply the color adjustment filter, yes we still have lots of blue on the artwork. Be patient and move on to the next step. Go to Filters ‣ Adjust ‣ Desaturate or press Ctrl + Shift + U. Now select Max from the list.

Suggerència

It is good to use non-photo-blue pencils to create the blue lines as those are easy to remove. If you are drawing digitally in blue lines use #A4DDED color as this is closer to non-photo-blue color.

You can learn more about doing a sketch from blue sketch to digital painting here in a tutorial by David Revoy [http://www.davidrevoy.com/article239/cleaning-blue-lines-sketch-in-krita].

After you have a clean black and white line art you may need to erase the white color and keep only black line art, to achieve that go to Filters ‣ Color ‣ Color to Alpha. Use the dialog box to turn all the white areas of the image transparent. The Color Picker is set to White by default. If you have imported scanned art and need to select another color for the paper color then you would do it here.

This will convert the white color in your line art to alpha i.e. it will make the white transparent leaving only the line art. Your line art can be in grayscale color space, this is a unique feature in Krita which allows you to keep a layer in a color-space independent from the image.

Laying in Flat Colors

There are many ways to color a line art in Krita, but generally, these three are common among the artists.

Paint blocks of color directly with block brushes.

Fill with Flood fill Tool.

Use one of the G'MIC colorize comics filters.

Blocking with brush

The first is the more traditional method of taking a shape brush or using the geometric tools to lay in color. This would be similar to using an analog marker or brush on paper. There are various block brushes in Krita, you can select Block Tag from the drop-down in the brush presets docker and use the brushes listed there.

Add a layer underneath your line art layer and start painting with the brush. If you want to correct any area you can press E and convert the same brush into an eraser. You can also use a layer each for different colors for more flexibility.

Filling with Flood Fill tool

The second method is to use the Flood fill tool to fill large parts of your line art quickly. This method generally requires closed gaps in the line art. To begin with this method place your line art on a separate layer. Then activate the flood fill tool and set the Grow selection to 2px, uncheck Limit to current layer if previously checked.

Choose a color from color selector and just click on the area you want to fill the color. As we have expanded the fill with grow selection the color will be filled slightly underneath the line art thus giving us a clean fill.

GMIC Colorize [Interactive]

The third method is to use take advantage of the integrated G'Mic filters. These are powerful filters that can dramatically improve your workflow and cut you down on your production time. To begin coloring with the G'MIC colorize interactive, go to Filters ‣ G'MIC. Choose Filters ‣ G'MIC ‣ Black & white ‣ Colorize[interactive] from the list of filters. Then select Line art for Input type, Image + Colors (2 Layers) for output type, set the view resolution according to your need. If you have any specific color palette to use for coloring add the path for it in an additional color palette. The example of the filter window with the required inputs is shown below.

Press Apply to begin the coloring, this will open a color selector palette window and a window showing your line art. Choose the color from the palette and click on the areas that need to be filled with color like the example shown below.

If you feel that the dots are a bit distracting you can press Tab to reduce the size or hide the dots. To zoom out you can press Ctrl + ↓ and Ctrl + ↑ vice versa. Panning is done by mousemiddle + drag. Press Spacebar to generate the colors. If you want to replace a color select the color by mousemiddle and pressing R then you can select an alternate color from the palette.

Once you have finished adding the desired flat colors you can press Enter to apply the filter. Then don't forget to press Ok in the G'MIC dialog box.

The flats colors will be placed on a separate layer. You can check this [http://www.davidrevoy.com/article240/gmic-line-art-colorization] tutorial by David Revoy to know more about this technique.

GMIC Colorize [comics]

Krita provides one more option to prepare flat colors through G'MIC colorize comics filter. This technique needs some preparations before you run the G'MIC filter. This layer extrapolates the color spots that you input below the line art

You have to create two layers below the line art, one for the color spots indicating which color you need to be filled in the region and one for the final extrapolated output of the filter. Mark some colors spots in the layer beneath the line art. The layer setup can be seen in the image below.

The colors spots are marked in red in the image

Now go to Filters ‣ G'MIC ‣ Black & white ‣ Colorize[comics]. In the G'MIC dialog box, select All for input and In place (default) for output, select Lineart + color spots + extrapolated layers for both input and output layers on the right-hand side. Smoothness is for filling gap tolerance and details the default is 0.5 you can adjust it according to your line art.

Press Apply and Ok to apply and exit the G'MIC dialog. You'll now have flat colors beneath your line art. More details about this technique can be found in the tutorial at Timothée Giet's blog [http://timotheegiet.com/blog/comics/gmic-colorize-comics-working-in-krita.html].

Painting

Starting from chaos

Here, you start by making a mess through random shapes and texture, then taking inspirations from the resulting chaos you can form various concepts. It is kind of like making things from clouds or finding recognizable shapes of things in abstract and random textures. Many concept artists work with this technique.

You can use brushes like the shape brush, or the spray brush to paint a lot of different shapes, and from the resulting noise, you let your brain pick out shapes and compositions.

You then refine these shapes to look more like shapes you think they look, and paint them over with a normal paintbrush. This method is best done in a painting environment.

Starting from a value based underground

This method finds its origins in old oil-painting practice: You first make an under-painting and then paint over it with color, having the dark underground shine through.

With Krita you can use blending modes for this purpose. Choosing the color blending mode on a layer on top allows you to change the colors of the image without changing the relative luminosity. This is useful, because humans are much more sensitive to tonal differences than the difference in saturation and hue. This'll allow you to work in grayscale before going into color for the polishing phase.

You can find more about this technique here [http://www.davidrevoy.com/article185/tutorial-getting-started-with-krita-1-3-bw-portrait].

Preparing Tiles and Textures

Many artists use Krita to create textures for 3d assets used for games animation etc. Krita has many texture templates for you to choose and get started with creating textures. These templates have common sizes, bit depth and color profiles that are used for texturing workflow.

Krita also has a real-time seamless tile mode to help texture artist prepare tiles and texture easily and check if it is seamless on the fly. The tiled mode is called wrap-around mode, to activate this mode you have press W. Now when you paint the canvas is tiled in real-time allowing you to create seamless pattern and texture, it is also easy to prepare interlocking patterns and motifs in this mode.

Creating Pixel Art

Krita can also be used to create a high definition pixel painting. The pixel art look can be achieved by using Index color filter layer and overlaying dithering patterns. The general layer stack arrangement is as shown below.

The index color filter maps specific user-selected colors to the grayscale value of the artwork. You can see the example below, the strip below the black and white gradient has an index color applied to it so that the black and white gradient gets the color selected to different values.

You can choose the required colors and ramps in the index color filter dialog as shown below.

Dithering can be used to enhance the look of the art and to ease the banding occurred by the index color filter. Krita has a variety of dithering patterns by default, these can be found in pattern docker. You can use these patterns as fill layer, then set the blend mode to overlay and adjust the opacity according to your liking. Generally, an opacity range of 10% - 25% is ideal.

Paint the artwork in grayscale and add an index color filter layer at the top then add the dithering pattern fill layer below the index color filter but above the artwork layer, as shown in the layer stack arrangement above. You can paint or adjust the artwork at any stage as we have added the index color filter as a filter layer.

You can add different groups for different colors and add different dithering patterns for each group.

Below is an example painted with this layer arrangement.

Flat Coloring

So you've got a cool black on white drawing, and now you want to color it! The thing we’ll aim for in this tutorial is to get your line art colored in with flat colors. So no shading just yet. We’ll be going through some techniques for preparing the line art, and we’ll be using the layer docker to put each color on a separate layer, so we can easily access each color when we add shading.

Nota

This tutorial is adapted from this tutorial [http://theratutorial.tumblr.com/post/66584924501/flat-colouring-in-the-kingdom-of-2d-layers-are] by the original author.

Understanding Layers

To fill line art comfortably, it's best to take advantage of the layerstack. The layer stack is pretty awesome, and it's one of those features that make digital art super-convenient.

In traditional art, it is not uncommon to first draw the full background before drawing the subject. Or to first draw a line art and then color it in. Computers have a similar way of working.

In programming, if you tell a computer to draw a red circle, and then afterwards tell it to draw a smaller yellow circle, you will see the small yellow circle overlap the red circle. Switch the commands around, and you will not see the yellow circle at all: it was drawn before the red circle and thus ‘behind’ it.

This is referred to as the “drawing order”. So like the traditional artist, the computer will first draw the images that are behind everything, and layer the subject and foreground on top of it. The layer docker is a way for you to control the drawing order of multiple images, so for example, you can have your line art drawn later than your colors, meaning that the lines will be drawn over the colors, making it easier to make it neat!

Other things that a layer stack can do are blending the colors of different layers differently with blending modes, using a filter in the layer stack, or using a mask that allows you to make parts transparent.

Truc

Programmers talk about transparency as ''Alpha'', which is because the 'a' symbol is used to present transparency in the algorithms for painting one color on top of another. Usually when you see the word ''Alpha'' in a graphics program, just think of it as affecting the transparency.

Preparing your line art

Put the new layer underneath the layer containing the line art (drag and drop or use the up/down arrows for that), and draw on it.

…And notice nothing happening. This is because the white isn’t transparent. You wouldn’t really want it to either, how else would you make convincing highlights? So what we first need to do to color in our drawing is prepare our line art. There’s several methods of doing so, each with varying qualities.

The Multiply Blending Mode

So, typically, to get a black and white line art usable for coloring, you can set the blending mode of the line art layer to Multiply. You do this by selecting the layer and going to the drop-down that says Normal and setting that to Multiply.

And then you should be able to see your colors!

Multiply is not a perfect solution however. For example, if through some image editing magic I make the line art blue, it results into this:

This is because multiply literally multiplies the colors. So it uses maths!

What it first does is take the values of the RGB channels, then divides them by the max (because we're in 8bit, this is 255), a process we call normalising. Then it multiplies the normalized values. Finally, it takes the result and multiplies it with 255 again to get the result values.

| Pink | Pink (normalized) | Blue | Blue (normalized) | Normalized, multiplied | Result
Red | 222 | 0.8705 | 92 | 0.3607 | 0.3139 | 80
Green | 144 | 0.5647 | 176 | 0.6902 | 0.3897 | 99
Blue | 123 | 0.4823 | 215 | 0.8431 | 0.4066 | 103

This isn't completely undesirable, and a lot of artists use this effect to add a little richness to their colors.

Advantages

Easy, can work to your benefit even with colored lines by softening the look of the lines while keeping nice contrast.

Disadvantages

Not actually transparent. Is a little funny with colored lines.

Using Selections

The second method is one where we'll make it actually transparent. In other programs this would be done via the channel docker, but Krita doesn't do custom channels, instead it uses Selection Masks to store custom selections.

Duplicate your line art layer.

Convert the duplicate to a selection mask. mouseright the layer, then Convert ‣ to Selection Mask.

Invert the selection mask. Select ‣ Invert Selection.

Make a new layer, and do Edit ‣ Fill with Foreground Color.

And you should now have the line art on a separate layer.

Advantages

Actual transparency.

Disadvantages

Doesn't work when the line art is colored.

Using Masks

This is a simpler variation of the above.

Make a filled layer underneath the line art layer.

Convert the line art layer to a transparency mask mouseright the layer, then Convert ‣ to Transparency Mask.

Invert the transparency mask by going to Filter ‣ Adjust ‣ Invert

Advantages

Actual transparency. You can also very easily doodle a pattern on the filled layer where the mask is on without affecting the transparency.

Disadvantages

Doesn't work when the line art is colored already. We can still get faster.

Using Color to Alpha

By far the fastest way to get transparent line art.

Select the line art layer and apply the color to alpha filter. Filter ‣ Colors ‣ Color to Alpha. The default values should be sufficient for line art.

Advantages

Actual transparency. Works with colored line art as well, because it removes the white specifically.

Disadvantages

You'll have to lock the layer transparency or separate out the alpha via the right-click menu if you want to easily color it.

Coloring the image

Much like preparing the line art, there are many different ways of coloring a layer.

You could for example fill in everything by hand, but while that is very precise it also takes a lot of work. Let's take a look at the other options, shall we?

Fill Tool

In most cases the fill-tool can’t deal with the anti-aliasing (the soft edge in your line art to make it more smooth when zoomed out) In Krita you have the grow-shrink option. Setting that to say… 2 expands the color two pixels.

Threshold decides when the fill-tool should consider a different color pixel to be a border. And the feathering adds an extra soft border to the fill.

Now, if you click on a gapless-part of the image with your preferred color… (Remember to set the opacity to 1.0!)

Depending on your line art, you can do flats pretty quickly. But setting the threshold low can result in little artifacts around where lines meet:

However, setting the threshold high can end with the fill not recognizing some of the lighter lines. Besides these little artifacts can be removed with the brush easily.

Advantages

Pretty darn quick depending on the available settings.

Disadvantages

Again, not great with gaps or details. And it works best with aliased line art.

Selections

Selections work using the selection tools.

For example with the Path Selection Tool you can easily select a curved area, and the with Shift + mouseleft (not mouseleft + Shift, there's a difference!) you can easily add to an existing selection.

You can also edit the selection if you have Select ‣ Show Global Selection Mask turned on. Then you can select the global selection mask, and paint on it. (Above with the alternative selection mode, activated in the lower-left corner of the stats bar)

When done, select the color you want to fill it with and press Shift + backspace.

You can save selections in selection masks by mouseright a layer, and then going to Add ‣ Local Selection. You first need to deactivate a selection by pressing the circle before adding a new selection.

This can serve as an alternative way to split out different parts of the image, which is good for more painterly pieces:

Advantages

A bit more precise than filling.

Disadvantages

Previewing your color isn't as easy.

Geometric tools

So you have a tool for making rectangles or circles. And in the case of Krita, a tool for bezier curves. Select the path tool (path tool), and set the tool options to fill=foreground and outline=none. Make sure that your opacity is set to 1.00 (fully opaque).

By clicking and holding, you can influence how curvy a line draw with the path tool is going to be. Letting go of the mouse button confirms the action, and then you’re free to draw the next point.

You can also erase with a geometric tool. Just press E or the eraser button.

Advantages

Quicker than using the brush or selections. Also decent with line art that contains gaps.

Disadvantages

Fiddly details aren’t easy to fill in with this. So I recommend skipping those and filling them in later with a brush.

Colorize Mask

So, this is a bit of an odd one. In the original tutorial, you'll see I'm suggesting using G'Mic, but that was a few years ago, and G'Mic is a little unstable on windows. Therefore, the Krita developers have been attempting to make an internal tool doing the same.

It is disabled in 3.1, but if you use 4.0 or later, it is in the toolbox. Check the Colorize Mask for more information.

So it works like this:

Select the colorize mask tool.

Tick the layer you're using.

Paint the colors you want to use on the colorize mask

Click update to see the results:

When you are satisfied, mouseright the colorize mask, and go to Convert ‣ Paint Layer. This will turn the colorize mask to a generic paint layer. Then, you can fix the last issues by making the line art semi-transparent and painting the flaws away with a pixel art brush.

Then, when you are done, split the layers via Layer ‣ Split ‣ Split Layer. There are a few options you can choose, but the following should be fine:

Finally, press Ok and you should get the following. Each color patch it on a different layer, named by the palette in the menu and alpha locked, so you can start painting right away!

Advantages

Works with anti-aliased line art. Really quick to get the base work done. Can auto-close gaps.

Disadvantages

No anti-aliasing of its own. You have to choose between getting details right or the gaps auto-closed.

Conclusion

I hope this has given you a good idea of how to fill in flats using the various techniques, as well as getting a hand of different Krita features. Remember that a good flat filled line art is better than a badly shaded one, so keep practicing to get the best out of these techniques!

Inking

The first thing to realize about inking is that unlike anatomy, perspective, composition or color theory, you cannot compensate for lack of practice with study or reasoning. This is because all the magic in drawing lines happens from your shoulder to your fingers, very little of it happens in your head, and your lines improve with practice.

On the other hand, this can be a blessing. You don’t need to worry about whether you are smart enough, or are creative enough to be a good inker. Just dedicated. Doubtlessly, inking is the Hufflepuff of drawing disciplines.

That said, there are a few tips to make life easy:

Pose

Notice how I mentioned up there that the magic happens between your shoulders and fingers? A bit weird, not? But perhaps, you have heard of people talking about adopting a different pose for drawing.

You can in fact, make different strokes depending on which muscles and joints you use to make the movement: The Fingers, the wrist and lower-arm muscles, the elbow and upper-arm muscles or the shoulder and back muscles.

Generally, the lower down the arm the easier it is to make precise strokes, but also the less durable the joints are for long term use. We tend to start off using our fingers and wrist a lot during drawing, because it’s easier to be precise this way. But it’s difficult to make long strokes, and furthermore, your fingers and wrist get tired far quicker.

Your shoulders and elbows on the other hand are actually quite good at handling stress, and if you use your whole hand you will be able to make long strokes far more easily. People who do calligraphy need shoulder based strokes to make those lovely flourishes (personally, I can recommend improving your handwriting as a way to improve inking), and train their arms so they can do both big and small strokes with the full arm.

To control pressure in this state effectively, you should press your pinky against the tablet surface as you make your stroke. This will allow you to precisely judge how far the pen is removed from the tablet surface while leaving the position up to your shoulders. The pressure should then be put by your elbow.

So, there are not any secret rules to inking, but if there is one, it would be the following: The longer your stroke, the more of your arms you need to use to make the stroke.

Stroke smoothing

So, if the above is the secret to drawing long strokes, that would be why people having been inking lovely drawings for years without any smoothing? Then, surely, it is decadence to use something like stroke smoothing, a short-cut for the lazy?

Example of how a rigger brush can smooth the original movement (here in red)

Not really. To both, actually. Inkers have had a real-life tool that made it easier to ink, it’s called a rigger-brush, which is a brush with very long hairs. Due to this length it sorta smooths out shakiness, and thus a favoured brush when inking at three in the morning.

With some tablet brands, the position events being sent aren’t very precise, which is why we having basic smoothing to apply the tiniest bit of smoothing on tablet strokes.

On the other hand, doing too much smoothing during the whole drawing can make your strokes very mechanical in the worst way. Having no jitter or tiny bumps removes certain humanity from your drawings, and it can make it impossible to represent fabric properly.

Therefore, it’s wise to train your inking hand, yet not to be too hard on yourself and refuse to use smoothing at all, as we all get tired, cold or have a bad day once in a while. Stabilizer set to 50 or so should provide a little comfort while keeping the little irregularities.

Bezier curves and other tools

So, you may have heard of a French curve. If not, it’s a piece of plastic representing a stencil. These curves are used to make perfectly smooth curves on the basis of a sketch.

In digital painting, we don’t have the luxury of being able to use two hands, so you can’t hold a ruler with one hand and adjust it while inking with the other. For this purpose, we have instead Bezier curves, which can be made with the Path Selection Tool.

You can even make these on a vector layer, so they can be modified on the fly.

The downside of these is that they cannot have line-variation, making them a bit robotic.

You can also make small bezier curves with the Assistant Tool, amongst the other tools there.

Then, in the freehand brush tool options, you can tick Snap to Assistants and start a line that snaps to this assistant.

Presets

So here are some things to consider with the brush-presets that you use:

Anti-aliasing versus jagged pixels

A starting inker might be inclined to always want to use anti-aliased brushes, after all, they look so smooth on the screen. However, while these look good on screen, they might become fuzzy when printing them. Therefore, Krita comes with two default types. Anti-aliased brushes like ink_brush_25 and slightly aliased brushes like ink_tilt, with the latter giving better print results. If you are trying to prepare for both, it might be an idea to consider making the inking page 600dpi and the color page 300dpi, so that the inking page has a higher resolution and the ‘jaggies’ aren’t as visible. You can turn any pixel brush into an aliased brush, by going F5 and ticking Sharpness.

Texture

Do you make smooth ‘wet’ strokes? Or do you make textured ones? For the longest time, smooth strokes were preferred, as that would be less of a headache when entering the coloring phase. Within Krita there are several methods to color these easily, the colorize mask being the prime example, so textured becomes a viable option even for the lazy amongst us.

Left: No texture, Center: Textured, Right: Predefined Brush tip

Pressure curve

Of course, the nicest lines are made with pressure sensitivity, so they dynamically change from thick to thin. However, different types of curves on the pressure give different results. The typical example is a slightly concave line to create a brush that more easily makes thin lines.

Ink_Gpen_25 is a good example of a brush with a concave pressure curve. This curve makes it easier to make thin lines.

conversely, here's a convex brush. The strokes are much rounder

Fill_circle combines both into an s-curve, this allows for very dynamic brush strokes

Pressure isn't the only thing you can do interesting things with, adding an inverse convex curve to speed can add a nice touch to your strokes

Preparing sketches for inking

So, you have a sketch and you wish to start inking it. Assuming you’ve scanned it in, or drew it, you can try the following things to make it easier to ink.

Opacity down to 10%

Put a white (just press Backspace) layer underneath the sketch. Turn down the opacity of the sketch to a really low number and put a layer above it for inking.

Make the sketch colored

Put a layer filled with a color you like between the inking and sketch layer. Then set that layer to ‘screen’ or ‘addition’, this will turn all the black lines into the color! If you have a transparent background, or put this layer into a group, be sure to tick the alpha-inherit symbol!

Make the sketch colored, alternative version

Or, right-click the layer, go to layer properties, and untick ‘blue’. This works easier with a single layer sketch, while the above works best with multi-layer sketches.

Super-thin lines

If you are interested in super-thin lines, it might be better to make your ink at double or even triple the size you usually work at, and, only use an aliased pixel brush. Then, when the ink is finished, use the fill tool to fill in flats on a separate layer, split the layer via Layer ‣ Split ‣ Layer Split, and then resize to the original size.

This might be a little of an odd way of working, but it does make drawing thin lines trivial, and it's cheaper to buy RAM so you can make HUGE images than to spent hours on trying to color the thin lines precisely, especially as colorize mask will not be able to deal with thin anti-aliased lines very well.

Truc

David Revoy made a set of his own inking tips for Krita and explains them in this youtube video [https://www.youtube.com/watch?v=xvQ5l0edsq4].

Brush-tips:Animated Brushes

Question

I was messing with the brushes and noticed there is like an option for it being "animated". What does it mean and how do I use it?

Basically, they’re what is officially called an ‘image hose’, and they’re quite fun. They are basically a brush-tip with multiple image files.

The typical way to make them is to first draw the ‘frames’ on a small canvas, per layer:

You can use Alt + mouseleft on the layer thumbnails to isolate layers without hiding them.

When done you should have a mess like this.

Go into the brush settings (F5), and go to predefined brush-tips, and click stamp. You will get this window.

And then use style animated and selection mode set to random.

Krita uses Gimp’s image hose format which allows for random selection of the images, angle based selection, pressure based selection, and incremental selection (I have no idea what constant does).

Then select the above brush and your new leafy-brush tip.

And use it to paint trees! (for example)

You can also use animated brush tips to emulate, for example, bristle brush tips that go from very fine bristles to a fully opaque stamp based on pressure, like a dry paintbrush might do. To do this, you would follow the above instructions, but for each layer, create a different cross-section of the brush to correspond with the amount of pressure applied.

Brush Tips: Bokeh

Question

How do you do bokeh effects?

First, blur your image with the Lens Blur to roughly 50 pixels.

Take smudge_textured, add scattering, turn off tablet input.

Change the brush-tip to ‘Bokeh’ and check ‘overlay’ (you will want to play with the spacing as well).

Then make a new layer over your drawing, set that to ‘lighter color’ (it’s under lighter category) and painter over it with you brush.

Overlay mode on the smudge brush allows you to sample all the layers, and the ‘lighter color’ blending mode makes sure that the Bokeh circles only show up when they are a lighter color than the original pixels underneath. You can further modify this brush by adding a ‘fuzzy’ sensor to the spacing and size options, changing the brush blending mode to ‘addition’, or by choosing a different brush-tip.

Brush Tips: Caustics

Question

Could you do a tutorial on how to recreate the look of light refracting in water?

Sure, caustics, it’s not like it’s the most complicated effect known to CG graphics… Okay, so the first thing is that light effects never work in isolation: you need to be spot on with colors and other effects to make it work. So we first need to recreate the surroundings a bit.

We set up something simple with gradients. Some radial, some linear. The eraser mode works with gradients as well, so use that to your advantage!

We create a simple smudge brush by taking smudge_soft and adding scattering to it, as well as an s-curve on the smudge length.

And then we build up a quick base:

Note how the smudge brush here is used not just to mix areas, but also to create definition of borders by lowering the scatter. (If you reverse the pressure curve on the scatter, this’ll be easily done by increasing the pressure on the stylus)

Now for the real magic. Caustics are a bit hairy, which means it’s a good candidate for the sketch brush engine.

Take sketch_ink_big, and add pressure to the Line width while setting Density under the Brush size to 100%. This makes it extra hairy.

Set the brush blending mode to Color Dodge, and select the color of our caustics. Color dodge will cause a move towards white by applying special dodge color maths to our brush dabs instead of the Normal averaging color maths.

Outside of pressure for making varying strokes, glowiness for the light and extra density, we also want to have the size of the line decrease the further away it is…

Then, use the assistant editor tool to add a perspective grid. It doesn’t need to be perfectly in perspective, because we’ll only use it for the perspective sensor.

This will cause the brush to give smaller lines the further it registers on the perspective assistant. (It only works per single perspective assistant, making it not very good for chaining, but for our purpose this is good.)

Then you start slowly building up your lines. (Make sure to make a copy of the layer. The color dodge blending doesn’t work well on a separate layer, so do it on one that also has the ground on it.)

Make sure to try and follow the shapes you made. (I failed at this) The great thing about the sketch brush is that it causes those little ‘melt-togethers’ where two lines cross. This is only per stroke, so make a lot of long ongoing strokes with this brush to make use of it.

Then take the gradient tool, and set the blending mode to color and the paint tool to a light blue, so we can get in the bluish atmospheric effect.

Then use the airbrush_pressure with the line tool to make some light-shafts of different sizes on a separate layer. (Don’t forget you can use the eraser mode for subtle erasing with the line tool as well)

Set the blending mode to color dodge and lower the opacity.

Finally, polish the piece with the airbrush tool and some local color picking.

Final Result

Brush-tips:Fur

Question

What brushes are best for fur textures?

So typically, you see the same logic applied on fur as on regular Brush-tips:Hair.

However, you can make a brush a little easier by using the Gradient, Mix and HSV options in the pixel and color smudge brushes. Basically, what we want to do is have a stroke start dark and then become lighter as we draw with it, to simulate how hair-tips catch more light and look lighter due to being thinner at the ends, while at the base they are frequently more dark.

Take the ink_brush_25 and choose under Brush Tip ‣ Predefined “A-2 dirty brush”. Set the spacing to Auto and right-click the spacing bar to type in a value between 0.25 and 0.8. Also turn on the Enable Pen Settings on flow. Replicate the pressure curve above on the size option. We don’t want the hairs to collapse to a point, hence why the curve starts so high.

Then activate value and reproduce this curve with the Distance or Fade sensor. Like how the pressure sensor changes a value (like size) with the amount of pressure you put on the stylus, the distance sensor measures how many pixels your stroke is, and can change an option depending on that. For the HSV sensors: If the curve goes beneath the middle, it’ll become remove from that adjustment, and above the vertical middle it’ll add to that adjustment. So in this case, for the first 100px the brush dab will go from a darkened version of the active paint color, to the active paint color, and then for 100px+ it’ll go from the active color to a lightened version. The curve is an inverse S-curve, because we want to give a lot of room to the mid-tones.

We do the same thing for saturation, so that the darkened color is also slightly desaturated. Notice how the curve is close to the middle: This means its effect is much less strong than the value adjustment. The result should look somewhat like the fifth one from the left on the first row of this:

The others are done with the smudge brush engine, but a similar setup, though using color rate on distance instead. Do note that it’s very hard to shade realistic fur, so keep a good eye on your form shadow. You can also use this with grass, feathers and other vegetation:

For example, if you use the mix option in the pixel brush, it’ll mix between the fore and background color. You can even attach a gradient to the color smudge brush and the pixel brush. For color smudge, this is just the Gradient option, and it’ll use the active gradient. For the pixel brush, set the color-source to Gradient and use the mix option.

On tumblr it was suggested this could be used to do this tutorial [https://vimeo.com/78183651]. Basically, you can also combine this with the lighter color blending mode and wraparound mode to make making grass-textures really easy!

Brush-tips:Hair

Usually, most digital styles tend to focus on simple brushes, like the round brushes, and their usage in hair is no different. So, the typical example would be the one on the left, where we use fill_round to draw a silhouette and build up to lighter values.

The reason I use fill_round here is because the pressure curve on the size is s-shaped. My tablet has a spring-loaded nib which also causes and s-shaped curve hard-ware wise. This means that it becomes really easy to draw thin lines and big lines. Having a trained inking hand helps a lot with this as well, and it’s something you build up over time.

We then gloss the shadow parties with the basic_tip_default. So you can get really far with basic brushes and basic painting skills and indeed I am almost convinced tysontan, who draws our mascot, doesn’t use anything but the basic_tip_default sometimes.

However, if you want an easy hair brush, just take the fill_round, go to the brush-tip, pick predefined and select A2-sparkle-1 as the brush tip. You can fiddle with the spacing below the selection of predefined brushtip to space the brush, but I believe the default should be fine enough to get result.

Brush-tips:Outline

Question

How to make an outline for a single brush stroke using Krita?

Not really a brush, but what you can do is add a layer style to a layer, by mouseright a layer and selecting layer style. Then input the following settings:

Then, set the main layer to multiply (or add a Color to Alpha filter mask), and paint with white:

(The white thing is the pop-up that you see as you hover over the layer)

Merge into a empty clear layer after ward to fix all the effects.

Brush-tips:Rainbow Brush

Question

Hello, there is a way to paint with rainbow on Krita?

Yes there is.

First, select the fill_circle:

Then, press F5 to open the brush editor, and toggle Hue.

This should allow you to change the color depending on the pressure.

Compte

The brightness of the rainbow is relative to the color of the currently selected color, so make sure to select bright saturated colors for a bright rainbow!

Uncheck Pressure and check Distance to make the rainbow paint itself over distance. The slider below can be mouseright to change the value with keyboard input.

When you are satisfied, give the brush a new name and save it.

Brush-tips:Sculpt-paint-brush

Question

How do I make a brush like the one in Sinix's paint-like-a-sculptor video?

It's actually quite easy, but most easy to do since Krita 3.0 due a few bugfixes.

First, select Basic_Wet from the default presets, and go into the brush editor with F5.

Then, the trick is to go into Opacity, untoggle Pressure from the sensors, toggle Fade and then reverse the curve as shown above. Make sure that the curve ends a little above the bottom-right, so that you are always painting something. Otherwise, the smudge won't work.

This'll make the color rate decrease and turn it into a smudge brush as the stroke continues:

The Fade sensor will base the stroke length on brush size. The Distance sensor will base it on actual pixels, and the Time on actual seconds.

Then, select Brushtip ‣ Predefined and select the default A_Angular_Church_HR brushtip.

This makes for a nice textured square brush.

Of course, this'll make the stroke distance longer to get to smudging, so we go back to the Opacity.

Just adjust the fade-length by mouseright on the slider bar. You can then input a number. In the screenshot, I have 500, but the sweet spot seems to be somewhere between 150 and 200.

Now, you'll notice that on the start of a stroke, it might be a little faded, so go into Color Rate and turn off the Enable Pen Settings there.

Then, finally, we'll make the brush rotate.

Tick the Rotation parameter, and select it. There, untick Pressure and tick Drawing Angle.

Then, for better angling, tick Lock and set the Angle Offset to 90 degrees by mouseright the slider bar and typing in 90.

Now, give your brush a new name, doodle on the brush-square, Save to presets and paint!

Making An Azalea With The Transformation Masks

Nota

This page was ported from the original post on the main page

Okay, so I’ve wanted to do a tutorial for transform masks for a while now, and this is sorta ending up to be a flower-drawing tutorial. Do note that this tutorial requires you to use Krita 2.9.4 at MINIMUM. It has a certain speed-up that allows you to work with transform masks reliably!

I like drawing flowers because they are a bit of an unappreciated subject, yet allow for a lot of practice in terms of rendering. Also, you can explore cool tricks in Krita with them.

Today’s flower is the Azalea flower. These flowers are usually pink to red and appear in clusters, the clusters allow me to exercise with transform masks!

I got an image from Wikipedia for reference, mostly because it’s public domain, and as an artist I find it important to respect other artists. You can copy it and, if you already have a canvas, Edit ‣ Paste into New Image or New ‣ Create from Clipboard.

Then, if you didn’t have a new canvas make one. I made an A5 300dpi canvas. This is not very big, but we’re only practicing. I also have the background color set to a yellow-grayish color (#CAC5B3), partly because it reminds me of paper, and partly because bright screen white can strain the eyes and make it difficult to focus on values and colors while painting. Also, due to the lack of strain on the eyes, you’ll find yourself soothed a bit. Other artists use #c0c0c0, or even more different values.

So, if you go to Window ‣ Tile, you will find that now your reference image and your working canvas are side by side. The reason I am using this instead of the docker is because I am lazy and don’t feel like saving the wikipedia image. We’re not going to touch the image much.

Let’s get to drawing!

First we make a bunch of branches. I picked a slightly darker color here than usual, because I know that I’ll be painting over these branches with the lighter colors later on. Look at the reference how branches are formed.

Then we make an approximation of a single flower on a layer. We make a few of these, all on separate layers. We also do not color pick the red, but we guess at it. This is good practice, so we can learn to analyze a color as well as how to use our color selector. If we’d only pick colors, it would be difficult to understand the relationship between them, so it’s best to attempt matching them by eye.

I chose to make the flower shape opaque quickly by using the behind blending mode. This’ll mean Krita is painting the new pixels behind the old ones. Very useful for quickly filling up shapes, just don’t forget to go back to normal once you’re done.

Now, we’ll put the flowers in the upper left corner, and group them. You can group by making a group layer, and selecting the flower layers in your docker with Ctrl + mouseleft and dragging them into the group. The reason why we’re putting them in the upper left corner is because we’ll be selecting them a lot, and Krita allows you to select layers with kbd:R + mouseleft on the canvas quickly. Just hold R and mouseleft the pixels belonging to the layer you want, and Krita will select the layer in the layer docker.

Clone Layers

Now, we will make clusters. What we’ll be doing is that we select a given flower and then make a new clone layer. A clone layer is a layer that is literally a clone of the original. They can’t be edited themselves, but edit the original and the clone layer will follow suit. Clone Layers, and File layers, are our greatest friends when it comes to transform masks, and you’ll see why in a moment.

You’ll quickly notice that our flowers are not good enough for a cluster: we need far more angles on the profile for example. If only there was a way to transform them… but we can’t do that with clone layers. Or can we?

Enter Transform Masks!

Transform Masks are a really powerful feature introduced in 2.9. They are in fact so powerful, that when you first use them, you can’t even begin to grasp where to use them.

Transform masks allow us to do a transform operation onto a layer, any given layer, and have it be completely dynamic! This includes our clone layer flowers!

How to use them:

mouseright the layer you want to do the transform on, and add a Transform mask.

A transform mask should now have been added. You can recognize them by the little ‘scissor’ icon.

Now, with the transform mask selected, select the tooltransform, and rotate our clone layer. Apply the transform. You know you’re successful when you can hide the transform mask, and the layer goes back to its original state!

You can even go and edit your transform! Just activate the tooltransform again while on a transform mask, and you will see the original transform so you can edit it. If you go to a different transform operation however, you will reset the transform completely, so watch out.

We’ll be only using affine transformations in this tutorial (which are the regular and perspective transform), but this can also be done with warp, cage and liquify, which’ll have a bit of a delay (3 seconds to be precise). This is to prevent your computer from being over-occupied with these more complex transforms, so you can keep on painting.

We continue on making our clusters till we have a nice arrangement.

Now do the same thing for the leaves.

Now, if you select the original paint layers and draw on them, you can see that all clone masks are immediately updated!

Above you can see there’s been a new view added so we can focus on painting the flower and at the same time see how it’ll look. You can make a new view by going Window ‣ New View and selecting the name of your current canvas (save first!). Views can be rotated and mirrored differently.

Now continue painting the original flowers and leaves, and we’ll move over to adding extra shadow to make it seem more lifelike!

We’re now going to use Alpha Inheritance. Alpha inheritance is an ill-understood concept, because a lot of programs use clipping masks instead, which clip the layer’s alpha using only the alpha of the first next layer.

Alpha inheritance, however, uses all layers in a stack, so all the layers in the group that haven’t got alpha inheritance active themselves, or all the layers in the stack when the layer isn’t in a group. Because most people have an opaque layer at the bottom of their layer stack, alpha inheritance doesn’t seem to do much.

But for us, alpha inheritance is useful, because we can use all clone-layers in a cluster (if you grouped them), transformed or not, for clipping. Just draw a light blue square over all the flowers in a given cluster.

Then press the last icon in the layer stack, the alpha-inherit button, to activate alpha-inheritance.

Set the layer to multiply then, so it’ll look like everything’s darker blue.

Then, with multiply and alpha inheritance on, use an eraser to remove the areas where there should be no shadow.

For the highlights use exactly the same method, AND exactly the same color, but instead set the layer to Divide (you can find this amongst the Arithmetic blending modes). Using Divide has exactly the opposite effect as using multiply with the same color. The benefit of this is that you can easily set up a complementary harmony in your shadows and highlights using these two.

Do this with all clusters and leaves, and maybe on the whole plant (you will first need to stick it into a group layer given the background is opaque) and you’re done!

Transform masks can be used on paint layers, vector layers, group layers, clone layers and even file layers. I hope this tutorial has given you a nice idea on how to use them, and hope to see much more use of the transform masks in the future!

You can get the file I made here [https://share.kde.org/public.php?service=files&t=48c601aaf17271d7ca516c44cbe8590e] to examine it further! (Caution: It will freeze up Krita if your version is below 2.9.4. The speed-ups in 2.9.4 are due to this file.)

Desar per a la web

El format predeterminat de desament del Krita és el format *.kra. Aquest format desa tot el que el Krita pot manipular en una imatge: capes, filtres, assistents, màscares, espais de color, etc. No obstant això, són un munt de dades, de manera que els fitxers *.kra són molt grans. Això no els fa gaire bons per a pujar-los a Internet. Imagineu quants plans de dades arribarien al límit si només poguéssim veure els fitxers *.kra! Per tant, optimitzarem les nostres imatges per a la web.

Hi ha alguns passos:

Desar com a ` .kra`. Aquest és el vostre fitxer de treball i serveix com a còpia de seguretat si cometeu algun error.

Aplanar totes les capes. Això converteix totes les capes en una de sola. Simplement aneu a Capa ‣ Aplana la imatge o premeu Ctrl + Majús. + E. L'aplanament tardarà una mica, així que si teniu una imatge gran, no us espanteu si el Krita no respon per uns quants segons. Aviat respondrà.

Convertir l'espai de color a sRGB de 8 bits (si encara no ho està). Això és important per a reduir la mida del fitxer, i el PNG, per exemple, no pot prendre més de 16 bits. Imatge ‣ Converteix l'espai de color de la imatge i establiu les opcions a RGB, 8 bits i sRGB-elle-v2-srgbtrc.icc respectivament. Si veniu d'un espai lineal, desmarqueu les optimitzacions «Little CMS»

Canviar la mida! Aneu a Imatge ‣ Escala la imatge a una mida nova o empreu la drecera Ctrl + Alt + I. Això cridarà el menú per al canvi de mida. Una bona regla general per a canviar la mida és que intenteu que ambdues mides siguin menors a 1200 píxels. (Aquesta és la mida dels formats HD). Ho podreu aconseguir amb facilitat establint la Resolució sota Mida de la impressió a 72 punts per polzada. Després premeu D'acord perquè tot canviï de mida.

Desa com a un format d'imatge segur per a la web. N'hi ha tres que són especialment recomanables:

JPG

Empreu-lo per a les imatges amb un munt de colors diferents, com ara pintures.

PNG

Empreu-lo per a les imatges amb pocs colors o en blanc i negre, com còmics i píxel art. Seleccioneu Desa com a PNG indexat, si és possible, per optimitzar-lo encara més.

GIF

Empreu-lo només per a animació (s'admetrà aquest any) o imatges amb un recompte de colors molt baix, ja que s'indexaran.

Desar amb la transparència

Desar amb transparència només és possible amb els GIF i PNG. Primer, assegureu-vos de veure els marcadors de transparència (això es pot fer simplement ocultant les capes inferiors, canviant el color de la projecció a Imatge ‣ Color i transparència del fons de la imatge, o utilitzant Filtres ‣ Colors ‣ Color a alfa). Després, deseu com a PNG i marqueu Desa el canal alfa (transparència)

Deseu la vostra imatge, pugueu-la i mostreu-la!

PMF del Krita

Aquesta pàgina conté els problemes comuns que tenen les persones amb el Krita. Tingueu en compte que assumim que esteu utilitzant la versió més recent del Krita. Verifiqueu-ho per estar-ne segur.

Contingut

PMF del Krita

General

Què és el Krita?

És possible utilitzar el Krita en el meu propi idioma, no en anglès?

Té el Krita un escurça la capa o màscara de retallat?

Windows: OBS no pot enregistrar el llenç en OpenGL del Krita

On s'emmagatzemen els fitxers de configuració?

Restablir la configuració del Krita

A on s'emmagatzemen els meus recursos?

El Krita em diu que no pot trobar alguns fitxers i després es tanca. Què haig de fer?

Quines targetes gràfiques admet el Krita?

No puc editar el text dels fitxers PSD creats per Photoshop

Quanta memòria pren la meva imatge?

Per què obtinc un patró de tauler d'escacs quan empro l'esborrador?

Windows: Puc utilitzar el Krita amb el Sandboxie?

Windows: El Krita no pot desar

Pot el Krita treballar amb imatges de 8 bits (indexat)?

Com puc produir una traça inversa al Windows?

A on puc trobar les versions antigues del Krita?

Al Windows, la interfície d'usuari del Krita és massa petita a la meva pantalla HiDPI

Tauletes

A quines tauletes dóna suport el Krita?

Què passa si la vostra tauleta no és reconeguda pel Krita?

Linux

Windows

Com arreglar un desplaçament a la tauleta en una configuració de múltiples pantalles al Windows

Microsoft Surface Pro i N-Trig

«Tablet Pro» i la tauleta Surface Pro

Succeeixen coses estranyes en el Windows, com ondulacions, anells, gargots o poltergeists

Sembla que el tàctil no funciona al Windows

Quadre d'eines

Falta el quadre d'eines

La mida de les icones d'eina és massa gran

El Krita no es pot maximitzar

Recursos

Hi ha alguna manera de restaurar un pinzell predefinit que he sobreescrit per error amb ajustaments nous?

Com puc establir els valors predefinits com a preferits?

Pot el Krita carregar els pinzells del Photoshop?

El Krita és lent

Inici lent

Pinzells lents

Desacceleració després d'estar treballant durant un temps

Animació

Perquè la meva animació es veu en negre al meu reproductor de vídeo?

Eines

Per què l'eina de transformació dóna un bon resultat i després es torna borrosa en acabar?

Llicència, drets i la Krita Foundation

Qui és el propietari del Krita?

Qui i què és la Kiki?

Per què és lliure el Krita?

Puc utilitzar comercialment el Krita?

Puc obtenir el Krita per a iPad? I per Android?

Qui tradueix el Krita

Referència

General

Preguntes generals

Què és el Krita?

Aquesta és la nostra visió per al desenvolupament del Krita:

El Krita és una aplicació multiplataforma lliure i de codi obert que ofereix una solució integral per a fitxers amb art digital des de zero. El Krita està optimitzat per al seu ús freqüent, prolongat i enfocat. Els camps de la pintura que es recolzen explícitament són les il·lustracions, art conceptual, pintura mat, textures, còmics i animacions. Desenvolupada juntament amb els usuaris, el Krita és una aplicació que dóna suport a les seves necessitats i el flux de treball real. El Krita admet els estàndards oberts i interactua amb altres aplicacions.

És possible utilitzar el Krita en el meu propi idioma, no en anglès?

El Krita hauria d'utilitzar automàticament l'idioma del sistema. Si no és així, seguiu aquests passos:

Arranjament ‣ Canvia l'idioma de l'aplicació. Apareixerà una petita finestra.

Feu clic a Idioma primari i seleccioneu el vostre idioma.

Feu clic a D'acord per tancar la finestra.

Reinicieu el Krita i es mostrarà en l'idioma seleccionat.

Si això no funciona, és possible que també hàgiu d'afegir un idioma alternatiu. Això és un error, però encara no hem trobat la solució.

Té el Krita un escurça la capa o màscara de retallat?

El Krita no té màscara de retallat, però té una característica de retallat anomenada hereta l'alfa. Vegeu aquesta pàgina i aprengueu a fer el retallat en el Krita!

Windows: OBS no pot enregistrar el llenç en OpenGL del Krita

Les possibles solucions per això són fer el següent:

Desactiveu l'OpenGL a Arranjament ‣ Configura el Krita ‣ Pantalla.

O no utilitzeu el mode accelerat per maquinari (mode de enregistrament de jocs) en l'OBS, capturant així tot l'escriptori en lloc d'intentar capturar només el Krita.

També podeu solucionar el problema utilitzant el renderitzador ANGLE en lloc d'OpenGL natiu.

On s'emmagatzemen els fitxers de configuració?

Estan emmagatzemats als llocs següents per als següents sistemes operatius:

Linux

$HOME/.config/kritarc

Windows

%APPDATA%\Local\kritarc

MacOS X

$HOME/Library/Preferences/kritarc

El fitxer «kritarc» és el fitxer de configuració. El Krita no emmagatzema els ajustaments al registre de Windows.

Restablir la configuració del Krita

Podeu restablir la configuració del Krita de la següent manera:

Per al Krita 3.0 i posteriors: Suprimiu/canvieu el nom del fitxer «kritarc», el qual es troba aquí:

Linux

$HOME/.config/kritarc

Windows

%LOCALAPPDATA%\kritarc

MacOS X

$HOME/Library/Preferences/kritarc

Hi poden haver dos fitxers més que voldreu eliminar: «kritaopenglrc» i «kritadisplayrc».

Si la configuració ha provocat un bloqueig, no suprimiu el fitxer esmentat, reanomeneu-lo i envieu-nos-lo perquè puguem determinar què va causar el bloqueig.

Si heu instal·lat el Krita a través de la Windows Store, el fitxer «kritarc» es trobarà en un altre lloc

%LOCALAPPDATA%\Packages\49800Krita_RANDOM STRING\LocalCache\Local\kritarc

La cadena aleatòria dependrà de la vostra instal·lació.

Els usuaris de Windows tenen l'hàbit de desinstal·lar i reinstal·lar les aplicacions per a resoldre els problemes. Llevat que el problema sigui que la instal·lació s'ha malmès per un escàner de virus o una fallada de la unitat, això NO funcionarà. En desinstal·lar el Krita, la reinstal·lació substituirà els bytes a la vostra unitat amb exactament els mateixos bytes que hi havia abans. No restablirà res, menys tots els ajustaments del Krita.

A on s'emmagatzemen els meus recursos?

Linux

$HOME/.local/share/krita/

Windows

%APPDATA%\krita\

Mac OS X

~/Library/Application Support/Krita/

Si heu instal·lat el Krita a la Windows Store, els vostres recursos personalitzats estaran en una ubicació com:

%LOCALAPPDATA%\Packages\49800Krita_RANDOM STRING\LocalCacheRoamingkrita

El Krita em diu que no pot trobar alguns fitxers i després es tanca. Què haig de fer?

Les causes per a això podrien ser les següents:

És possible que la baixada s'hagi corromput i faltin fitxers (el que sol passar amb connexió dolentes de WiFi i Internet en general), en aquest cas, intenteu trobar una millor connexió a Internet abans de tornar a intentar la baixada. El Krita haurà de tenir al voltant de 80 a 100 MB de grandària en baixar-se.

Pot ser que alguna cosa hagi sortit malament durant la instal·lació. Comproveu si el vostre disc dur és ple i torneu a instal·lar el Krita amb almenys 120 MB d'espai buit. Si no és així i el problema persisteix, és possible que passi alguna cosa estranya amb el dispositiu i es recomana cercar a un expert en ordinadors per a que diagnostiqui quin és el problema.

Alguns descomprimidors no descomprimeixen els nostres fitxers ZIP correctament. Els nadius al Windows, OSX i la majoria de les distribucions de Linux haurien d'anar bé, i recomanem el seu ús.

La utilització manual d'un gestor de fitxers ha eliminat o mogut recursos i, per tant, el Krita ja no els pot trobar.

Quines targetes gràfiques admet el Krita?

El Krita pot utilitzar OpenGL per accelerar el zoom, el gir i el desplaçament de la pintura i el llenç. Nvidia i les GPU recents d'Intel donen els millors resultats. Assegureu-vos que els seus controladors d'OpenGL siguin compatibles amb OpenGL 3.2 com a mínim. Se sap que les GPU d'AMD/ATI són problemàtiques, especialment amb els controladors propietaris al Linux. No obstant això, funciona perfectament amb el controlador gratuït Radeon a Linux per a una GPU d'AMD compatible. Proveu d'obtenir una targeta gràfica que admeti OpenGL 3.2 o superior per obtenir els millors resultats, alguns exemples:

Intel

Gràfics HD Intel de tercera generació, microarquitectura IvyBridge o Bay-Trail, alliberada el 2012. Productes habitualment disponibles: Celeron J1x00, N2x00, Celeron (G)1xx0, Pentium J2x00, N3500, Pentium (G)2xx0, Core i3/5/7-3xx0.

AMD/ATI

Família HD 2000 de Radeon, microarquitectura TeraScale 1, alliberada el 2007. Productes habitualment disponibles: Radeon HD 2400 PRO, Radeon HD 2600 PRO, etc.

Nvidia

Família GeForce 8, microarquitectura Tesla, alliberada el 2006. Productes habitualment disponibles: GeForce 8400 GS, GeForce 8800 GTS, 9800 GTX, GTS 250, etc.

Per al Krita 3.3 o posterior: el Krita a Windows pot utilitzar Direct3D 11 per a l'acceleració dels gràfics (mitjançant ANGLE). Aquest s'habilita automàticament en sistemes amb una GPU d'Intel.

No puc editar el text dels fitxers PSD creats per Photoshop

Encara no hi ha suport de text per als fitxers PSD. El text apareixerà rasteritzat i convertit en una capa de pintura.

Quanta memòria pren la meva imatge?

Per a imatges senzilles, és fàcil de calcular: multipliqueu l'amplada * alçada * canals * mida dels canals (així, per a una imatge RGBA de 1000×1000 amb enter de 16 bits: 1000 x 1000 x 4 x 2). Multipliqueu-ho pel nombre de capes més dos (una per la imatge i una altra per la pantalla). Si afegiu màscares, capes de filtratge o capes clonades, es tornarà més complicat.

Per què obtinc un patró de tauler d'escacs quan empro l'esborrador?

Probablement estigueu acostumat al Gimp o el Photoshop. El fons predeterminat o la primera capa en aquestes aplicacions no té un canal alfa predeterminat. Per tant, en la seva capa de fons, l'esborrador pinta sobre el color de fons.

En el Krita, totes les capes tenen un canal alfa, si voleu pintar en el color de fons, simplement ho haureu de fer en una capa sobre la primera (Capa 1), això evitarà que s'esborri el color de fons blanc, fent visible el tauler d'escacs. Obtindreu el mateix efecte en, diguem, el Gimp, si creeu una imatge nova, afegiu un canal alfa i després utilitzeu l'eina esborrador. La majoria dels usuaris del Krita iniciaran un esbós en el Krita afegint una capa en blanc nova abans de fer qualsevol altra cosa. (La tecla Inser. és una drecera útil). Això no utilitzarà memòria addicional, ja que una capa en blanc o una capa amb un color predeterminat només pren el valor d'un píxel de la memòria.

Windows: Puc utilitzar el Krita amb el Sandboxie?

No, això no és recomanable. El Sandboxie causa parpelleig i es congela a causa de la manera en què intercepta les crides per als recursos al disc.

Windows: El Krita no pot desar

Si el missatge és «No s'ha trobat el fitxer. Comproveu el nom del fitxer i torneu-ho a provar.», és probable que tingueu habilitat l'Accés controlat a les carpetes.

Seleccioneu Inici ‣ Arranjament.

Escolliu Actualització i seguretat ‣ Windows Defender.

Seleccioneu Obre el Centre de seguretat de defensa de Windows.

Seleccioneu Protecció contra virus i amenaces i després escolliu Ajustaments per a la protecció contra virus i amenaces.

Sota Accés controlat a les carpetes, activeu-lo o desactiveu-lo.

També podeu crear una llista blanca del Krita, seguint aquestes instruccions [https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/customize-controlled-folders-exploit-guard#allow-specific-apps-to-make-changes-to-controlled-folders].

Pot el Krita treballar amb imatges de 8 bits (indexat)?

No. el Krita ha estat dissenyat des de zero per utilitzar colors reals, no paletes indexades. No hi ha plans per admetre imatges amb color indexat, tot i que el Krita pot exportar a alguns formats d'imatge de color indexat, com el GIF. No obstant això, no ofereix un control detallat sobre els valors dels píxels.

Com puc produir una traça inversa al Windows?

Vegeu també

El depurador Dr. Mingw

Si experimenteu un bloqueig al Windows i podeu reproduir-lo, l'informe d'error serà molt més valuós si podeu crear una traça inversa. Aquesta és quelcom semblant a la caixa negra d'un avió, ja que indica el conjunt d'instruccions que estava executant el vostre ordinador quan es va bloquejar (on va ocórrer), serà molt útil per esbrinar perquè ha succeït.

El depurador Dr. Mingw ve inclòs amb el Krita. Visiteu la pàgina del depurador Dr. Mingw per a les instruccions sobre com aconseguir una traça inversa.

A on puc trobar les versions antigues del Krita?

Totes les versions antigues del Krita que encara estan disponibles es poden trobar aquí:

Construccions molt antigues [http://download.kde.org/Attic/krita].

Al Windows, la interfície d'usuari del Krita és massa petita a la meva pantalla HiDPI

Si utilitzeu el Windows, podeu establir l'escala de visualització al 150% o 200% i habilitar el suport experimental de HiDPI a les configuracions:

Sobre el menú, seleccioneu Arranjament ‣ Configura el Krita.

Sobre la pàgina General, aneu a la pestanya Finestra.

Marqueu Activa el funcionament amb Hi-DPI.

Reinicieu el Krita.

També podeu canviar la mida de la icona del quadre d'eines fent clic dret sobre el quadre d'eines i seleccionant una mida.

Tauletes

A quines tauletes dóna suport el Krita?

El Krita no és gaire sense una tauleta sensible a la pressió. Si s'ha configurat correctament la tauleta, el Krita hauria de funcionar immediatament.

Al Windows, necessitareu instal·lar els controladors de Wintab per a la vostra tauleta o habilitar l'opció Entrada de l'apuntador de Windows 8+ als ajustaments del Krita.

Aquí trobareu una llista creada per la comunitat de les tauletes admeses pel Krita.

Si esteu cercant informació sobre tauletes com les tauletes iPad o Android, mireu aquí.

Què passa si la vostra tauleta no és reconeguda pel Krita?

Linux

Ens agradaria veure la sortida completa de les següents ordres:

lsmod

xinput

xinput list-props (es pot obtenir l'ID des de l'element 2)

Obteniu el registre dels esdeveniments de la tauleta (si correspon):

Obriu una aplicació de consola (p. ex., el Konsole al KDE)

Establiu la quantitat de desplaçament a «sense limit» (per al Konsole: Arranjament ‣ Edita el perfil actual ‣ Desplaçament ‣ Desplaçament sense limit)

Inicieu el Krita escrivint «krita» i creeu qualsevol document

Premeu Ctrl + Majús. + T, veureu un quadre de missatge indicant que el registre ha començat

Intenteu reproduir el problema

La consola ara estarà plena amb el registre. Adjunteu-lo a un informe d'error

Adjunteu totes aquestes dades a un informe d'error utilitzant els serveis públics d'enganxament com «paste.kde.org»

Windows

Primer comproveu si el controlador de la vostra tauleta està correctament instal·lat. Sovint, una actualització del controlador, una actualització de Windows o la instal·lació del controlador del ratolí per a jocs de Razer trenca les tauletes.

Després, comproveu si el canvi a l'API de l'apuntador de Windows 8 fa la diferència: Arranjament ‣ Configura el Krita ‣ Tauleta.

Si encara teniu problemes amb Windows i la vostra tauleta, no us podrem ajudar sense un registre de la tauleta.

Instal·leu el DebugView [http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx] des del lloc oficial de Microsoft

Inicieu el DebugView

Inicieu el Krita

Premeu Ctrl + Majús. + T, veureu un quadre de missatge indicant que el registre ha començat

Intenteu reproduir el problema

Torneu al DebugView i deseu la seva sortida en un fitxer. Adjunteu aquest fitxer a un informe d'error o enganxeu-lo utilitzant serveis com «paste.kde.org».

No obstant això, en el 100% dels casos en què els usuaris de Windows van informar en els últims cinc anys que la seva tauleta no funcionava, el problema ha estat un controlador defectuós o una instal·lació malmesa d'aquest controlador, però no un error en el Krita.

Com arreglar un desplaçament a la tauleta en una configuració de múltiples pantalles al Windows

Si veieu que l'apuntador de la tauleta té un desplaçament quan treballeu amb el llenç del Krita, és molt probable que el Krita hagi obtingut una resolució de pantalla incorrecta des del sistema. Aquest problema passa quan hi ha un monitor extern i quan s'ha connectat un monitor o una tauleta després de l'arrencada del sistema.

Podeu solucionar aquest problema manualment:

Poseu el llapis lluny de la tauleta.

Inicieu el Krita sense utilitzar un llapis, això serà utilitzant un ratolí o un teclat.

Premeu la tecla Majús. i manteniu-la premuda.

Toqueu la tauleta amb el llapis perquè el Krita ho reconegui.

Veureu un diàleg especial que demana per la resolució real de la pantalla. Trieu el valor correcte o introduïu-lo manualment i premeu D'acord.

Si teniu una configuració dual del monitor i només s'accedeix a la meitat superior de la pantalla, és possible que hàgiu d'introduir en aquest camp l'amplada total d'ambdues pantalles més el doble de l'alçada del monitor.

Si això no funciona, i si teniu una tauleta Wacom, es podria causar un desplaçament al llenç per culpa d'un fitxer defectuós de preferències de Wacom, el qual no s'ha eliminat o substituït en reinstal·lar els controladors.

Per a solucionar-ho, utilitzeu la «Utilitat de fitxer de preferències de la tauleta Wacom» per esborrar totes les preferències. Això hauria de permetre al Krita detectar automàticament els ajustaments correctes.

Avís

Això restablirà la configuració de la tauleta, pel que haureu de tornar-la a calibrar/configurar.

Per al Krita 3.3 o posterior: podeu intentar habilitar l'«Entrada de l'apuntador de Windows 8+», però és possible que algunes característiques no funcionin.

Microsoft Surface Pro i N-Trig

El Krita 3.3.0 i versions posteriors admeten l'API Pointer de Windows (Windows Ink) de forma nativa. La vostra Surface Pro o una altra tauleta compatible de llapis N-Trig hauria de funcionar immediatament amb al Krita després d'habilitar Windows Ink a Arranjament ‣ Configura el Krita ‣ Tauleta.

«Tablet Pro» i la tauleta Surface Pro

A diferència de l'empresa Wacom, la línia Surface de tauletes no té botons de maquinari que funcionin. El «Tablet Pro» és una utilitat (no gratuïta) que posa botons virtuals a la pantalla. El Krita 3.1 i superior tindrà perfils de drecera predefinits per a treballar amb el «Tablet Pro».

http://tabletpro.net/

Vegeu http://www.youtube.com/watch?v=WKXZgYqC3tI per a les instruccions.

Succeeixen coses estranyes en el Windows, com ondulacions, anells, gargots o poltergeists

El Windows ve amb un munt d'ajustaments perquè funcioni amb un llapis. Tots aquests ajustaments poden ser molestos. Aquesta eina pot ajudar-vos a establir correctament els ajustaments quan utilitzeu una tauleta:

https://github.com/saveenr/Fix_My_Pen/releases

Sembla que el tàctil no funciona al Windows

Possiblement haureu d'inhabilitar i habilitar el controlador tàctil: aneu al gestor de dispositius. (Feu clic al botó Inici i escriviu «gestor de dispositius»). Trieu HID (dispositius amb interfície d'usuari o quelcom així). Trieu «Intel (R) Precise Touch Device». Feu-hi clic dret per inhabilitar-lo. Feu-hi clic dret per habilitar-lo.

Quadre d'eines

Falta el quadre d'eines

Podeu restablir l'espai de treball prement el botó que es troba més a la dreta a la barra d'eines, l'alternador de l'espai de treball, i feu clic sobre l'espai de treball desitjat de la llista.

O podeu fer clic dret sobre qualsevol barra de títol de l'acoblador o espai obert en qualsevol barra d'eines i seleccionar Quadre d'eines. Aquesta és la primera opció.

A més, podeu marcar el menú Arranjament, té un munt de coses interessants, després aneu al menú Acobladors i seleccioneu Quadre d'eines.

La mida de les icones d'eina és massa gran

Feu clic dret al quadre d'eines per establir la mida.

El Krita no es pot maximitzar

Això succeeix quan els acobladors es col·loquen de tal manera que la finestra no pot ser menys alta. Reorganitzeu el vostre espai de treball.

Recursos

Hi ha alguna manera de restaurar un pinzell predefinit que he sobreescrit per error amb ajustaments nous?

Sí. Primer aneu a la carpeta de recursos, la qual es troba a

Linux

$HOME/.local/share/krita/

Windows

user\Appdata\Roaming\krita\ o %APPDATA%\Roaming\krita\

OSX

~/Library/Application Support/Krita/

Podeu fer-ho amb facilitat anant a Arranjament ‣ Gestiona els recursos ‣ Obre la carpeta de recursos.

Després aneu a la carpeta «paintoppresets» i elimineu l'últim fitxer creat on vàreu fer el vostre predefinit.

Després d'això, torneu a la carpeta de recursos i editeu el fitxer de llista negra per a eliminar el pintat predefinit anterior, de manera que el Krita el carregui. (Sí, és un sistema un xic complicat, però almenys no perdreu els pinzells).

Com puc establir els valors predefinits com a preferits?

Feu clic dret sobre un pinzell a l'acoblador i assigneu-li una etiqueta. Després feu clic dret sobre el llenç per a cridar a la paleta emergent, feu clic a la segona icona situada més a la dreta a la part inferior dreta de la paleta, ara podreu triar l'etiqueta que contindrà el pinzell.

Pot el Krita carregar els pinzells del Photoshop?

Sí, però hi ha limitacions. Podeu carregar fitxers ABR utilitzant el botó Importa a la pestanya Pinzell predefinit a l'editor de pinzells. Com Adobe no ha divulgat l'especificació del format de fitxer, depenem de l'enginyeria inversa per esbrinar què carregar, i actualment això està limitat a les característiques bàsiques.

El Krita és lent

Hi ha una gran quantitat de raons pel que podria passar. A continuació es mostra una breu llista de comprovació.

Quelcom està acaparant la CPU o la memòria: es coneix que «Spotify» i altres aplicacions electròniques ho fan.

Esteu executant el Windows i teniu instal·lat un programari de seguretat de tercers com el «Sandboxie» o el «Total Defender».

Esteu treballant en imatges que són massa grans per al vostre maquinari (dimensions, profunditat del canal o el nombre de capes).

No teniu habilitada l'acceleració del llenç.

Si us plau, reviseu també aquesta pàgina [https://phabricator.kde.org/T7199].

Inici lent

Probablement teniu masses recursos instal·lats. Desactiveu alguns paquets sota Arranjament ‣ Gestiona els recursos.

Si utilitzeu el Windows amb l'arxiu zip portable, el Windows escanejarà tots els fitxers cada vegada que inicieu el Krita. Això comporta temps. Utilitzeu l'instal·lador o digueu-li al «Microsoft Security Essentials» que faci una excepció per al Krita.

Pinzells lents

Comproveu si vàreu activar accidentalment l'estabilitzador a l'acoblador Opcions de l'eina.

Proveu amb un altre mode d'escalat com el trilineal. Arranjament ‣ Configura el Krita ‣ Pantalla.

Proveu amb una profunditat de canal inferior a 16 bits.

Per a NVidia, proveu amb un espai de color de coma flotant de 16 bits.

Per a les CPU d'AMD més antigues (amb el Krita 2.9.10 i superiors), desactiveu les optimitzacions dels vectors que es malmeten. Arranjament ‣ Configura el Krita ‣ Rendiment. Això no és necessari si teniu una CPU Threadripper™ d'AMD.

És un programa força afamat de memòria, de manera que 2GB de RAM és el mínim, i 4GB és el mínim preferible.

Comproveu que res més està acaparant la CPU.

Comproveu que la vista prèvia instantània estigui habilitada si esteu utilitzant pinzells més grans (però per a pinzells molt petits, assegureu-vos que estigui inhabilitada).

Establiu la precisió del pinzell a 3 o automàtica.

Utilitzeu un valor més gran per a l'espai entre pinzells.

Si tot això falla, enregistreu un vídeo i publiqueu un enllaç i una descripció en el fòrum del Krita.

Comproveu si l'OpenGL està habilitat, i si no ho està, habiliteu-lo. Si està habilitat i us trobeu a Windows, proveu amb el renderitzador Angle. O inhabiliteu-lo.

Desacceleració després d'estar treballant durant un temps

Una vegada percebeu la desacceleració, feu clic sobre les dimensions de la imatge a la barra d'estat. Us indicarà la quantitat de RAM que està fent servir el Krita, si heu arribat al límit o si ha començat amb la d'intercanvi. La memòria d'intercanvi pot alentir molt un programa, de manera que treballeu amb imatges més petites o augmenteu la quantitat màxima de RAM a Arranjament ‣ Configura el Krita ‣ Rendiment ‣ pestanya Avançat.

Animació

Perquè la meva animació es veu en negre al meu reproductor de vídeo?

No heu renderitzat l'animació amb l'opció «línia base» i esteu utilitzant el reproductor de suports predeterminat de Windows. Torneu-lo a renderitzar utilitzant l'opció línia base o utilitzeu una millor aplicació de reproductor de vídeo, com el VLC. Vegeu aquest útil diagrama [https://www.deviantart.com/tiarevlyn/art/T-Krita-4-1-7-rendering-issues-manual-783473428].

Eines

Per què l'eina de transformació dóna un bon resultat i després es torna borrosa en acabar?

L'eina de transformació crea una vista prèvia del que editeu abans de calcular la versió finalitzada. Com aquesta vista prèvia està emprant la resolució de la pantalla en lloc de la resolució de la imatge, pot semblar que el resultat és borrós en comparació amb la vista prèvia. Per a més informació vegeu aquesta pàgina [https://forum.kde.org/viewtopic.php?f=139&t=127269].

Llicència, drets i la Krita Foundation

Qui és el propietari del Krita?

La Stichting Krita Foundation posseeix la marca registrada Krita. Els drets d'autor del codi font són propietat de tots els que han treballat en el codi font.

Qui i què és la Kiki?

La Kiki és una esquirol cibernètica. Ella és la nostra mascota i ha estat dissenyada per en Tyson Tan. Vam triar una esquirol en descobrir que «krita» és la paraula albanesa per a esquirol.

Per què és lliure el Krita?

El Krita és desenvolupat com a programari lliure [http://www.gnu.org/] dins de la comunitat KDE. Creiem que les bones eines haurien d'estar disponibles per a tots els artistes. També podeu comprar el Krita a la Windows Store si voleu donar suport al desenvolupament del Krita o si voleu tenir actualitzacions automàtiques a les versions més noves.

Puc utilitzar comercialment el Krita?

Sí. El que creeu amb el Krita és de la vostra única propietat. Sou l'amo de la vostra feina i la podeu llicenciar com vulgueu. La llicència GPL del Krita s'aplica al seu codi font. El Krita pot ser emprat comercialment per artistes per a qualsevol propòsit, per estudis per crear art conceptual, textures o efectes especials, per artistes de jocs per a treballar en jocs comercials, per científics per a la investigació i per estudiants en institucions educatives.

Si modifiqueu el Krita i en distribuïu el resultat, haureu de compartir les vostres modificacions amb nosaltres. La llicència GPL de GNU del Krita garanteix aquesta llibertat. Mai, ningú estarà autoritzat a retirar-la.

Puc obtenir el Krita per a iPad? I per Android?

No en aquest moment.

Qui tradueix el Krita

El Krita és una aplicació KDE [https://www.kde.org/], i n'estem orgullosos! Això vol dir que les traduccions del Krita són realitzades pels equips de localització del KDE [https://l10n.kde.org/]. Si voleu ajudar, uniu-vos a l'equip per al vostre idioma! Hi ha una altra manera en que podeu ajudar a fer que el Krita es vegi bé en qualsevol idioma, i aquesta és unir-vos a l'equip de desenvolupament i solucionar els problemes dins del codi que fan que el Krita sigui més difícil de traduir.

Referència

https://answers.launchpad.net/krita-ru/+faqs

Manual dels col·laboradors

Tot el que cal conèixer per ajudar amb el Krita!

Contingut:

La comunitat del Krita

Internet Relay Chat

Llista de correu

Phabricator

Bugzilla: el Seguidor d'errors

Esprints

Mark-up conventions for the Krita Manual

Meta data

Headings

Linking

Images

In-text Markup

Substitution References

Lists

Tables

Admonishments and asides

Code Snippets

Other preformatted text

Glossaries, Terms and Index

Quotes

Krita Manual Contribution Guide

For first timers

General philosophy

Protocol

Other

Imatges per al manual

Eines per a crear captures de pantalla

El format de fitxer adequat per a la tasca

Optimitzar les imatges en qualitat i mida

Editar les metadades d'un fitxer

Technical Pages

Building krita with Docker

Building Krita from Source

CMake Settings for Developers

Introduction to Hacking Krita

Modern C++ usage guidelines for the Krita codebase

Developing Features

Optimizing tips and tools for Krita

Advanced Merge Request Guide

Reporting Bugs

Running Krita from Source

Triaging Bugs

Unittests in Krita

La comunitat del Krita

Estar en contacte! A més del lloc web a https://www.krita.org, el projecte Krita té tres canals de comunicació principals:

Internet Relay Chat (IRC)

La llista de correu

Phabricator

Si bé els desenvolupadors i usuaris del Krita estan presents a les xarxes socials com Twitter, Mastodon, Reddit, Google+, Tumblr o Facebook, aquests no són els llocs on debatem les noves característiques, errors, desenvolupament o on fem plans per al futur.

També hi ha:

seguidor d'errors

esprints de desenvolupament

Trobareu que hi ha un nombre de persones que gairebé sempre estan a prop: el nucli de l'equip.

Boudewijn (irc: boud): mantenidor del projecte, desenvolupador principal. Treballa a temps complet en el Krita. Gestiona la Krita Foundation, fa el triatge dels errors, fa les xarxes socials i administra les coses. Boudewijn també està a Reddit com a «boudewijnrempt».

Dmitry (irc: dmitryk_log): desenvolupador principal. Treballa a temps complet en el Krita.

Wolthera (irc: wolthera_laptop): desenvolupador, escriu el manual i les guies d'aprenentatge, fa el triatge dels errors, ajuda a la gent a sortir-se'n.

Scott Petrovic (irc: scottyp): dissenyador de l'experiència d'usuari, desenvolupador, administrador de la web.

David Revoy (irc: deevad): usuari expert, creador del Pepper & Carrot, manté el paquet de predefinits.

Alvin Wong (irc: windragon): guru de Windows.

Ben Cooksley (irc: bcooksley): administrador del sistema KDE.

L'equip del Krita s'estén per tot el món, però la major part del desenvolupament succeeix a Europa i Rússia.

El Krita forma part de la comunitat KDE. La comunitat KDE® és una comunitat de programari lliure dedicada a crear una experiència informàtica oberta i amigable amb l'usuari, oferint un escriptori gràfic avançat, amb una àmplia varietat d'aplicacions per a la comunicació, treball, educació, entreteniment i una plataforma per a construir amb facilitat aplicacions noves. La guia per als col·laboradors del KDE també és rellevant per a qui vol col·laborar amb el Krita i la trobareu aquí [https://archive.flossmanuals.net/kde-guide/].

La Krita Foundation va ser creada per a recolzar el desenvolupament del Krita. La Krita Foundation ha patrocinat el treball d'en Dmitry en el Krita des de 2013.

Internet Relay Chat

L'IRC és el principal canal de comunicació. Hi ha clients d'IRC per a cada sistema operatiu, així com un client web en el lloc web del Krita.

Unir-se a l'IRC: connecteu-vos amb irc.freenode.net, seleccioneu un sobrenom únic i uniu-vos als canals #krita i ##krita-chat. El #krita és per a converses sobre el tema, el ##krita-chat és per a les converses fora del tema.

No us preocupeu: si teniu una pregunta, simplement feu-la.

No entreu en panic si ocorren diversos debats alhora. Això és normal en un canal ocupat.

Parlareu amb una única persona escrivint el seu sobrenom i un signe de dos punts.

Gairebé tots els dilluns, a les 14:00 CET o CEST, tenim una reunió en la que debatem el que ha succeït durant la setmana passada, el que estem fent i tot el que és rellevant per al projecte. Les notes de la reunió es mantenen al Google Docs.

L'activitat és més alta en CET o CEST durant el dia i tardes. Durant el dia i tardes als EUA és més tranquila.

L'IRC no està registrat. Si tanqueu el canal, desapareixerà i no podreu llegir el que va succeir quan us vàreu unir al canal. Si feu una pregunta, haureu de quedar-vos al voltant!

És realment irritant per a altres usuaris l'interrompre les converses si seguiu connectant i desconnectant.

Llista de correu

La llista de correu s'utilitza per als anuncis i amb moderació per als debats. Tots els que vulguin treballar en el Krita d'una manera o una altra hauran de subscriure's a la llista de correu.

Arxiu de la llista de correu [https://mail.kde.org/mailman/listinfo/kimageshop]

La llista de correu s'anomena «kimageshop», perquè aquest és el nom amb el qual es va iniciar el projecte Krita. Els problemes legals (sorpresa!) van portar a dos canvis de nom més, un a Krayon i després a Krita.

Phabricator

El Phabricator compleix amb els següents propòsits per a l'equip del Krita:

Seguir en què estem treballant: https://phabricator.kde.org/maniphest/ Això inclou les tasques de desenvolupament, disseny de noves característiques i disseny de l'experiència d'usuari, així com de les tasques relacionades amb el lloc web.

Revisar els enviaments de codi: https://phabricator.kde.org/differential/

Allotjar el repositori Git: https://phabricator.kde.org/source/krita/ . Tingueu en compte que si bé hi ha una rèplica del nostre repositori Git al Github, no utilitzem el Github per al desenvolupament del Krita.

No informeu d'errors com a tasques al Phabricator. El Phabricator és on organitzem el nostre treball.

Poseu tots els vostres enviaments de codi (pedaços) al Phabricator. No adjunteu els pedaços a errors al seguidor d'errors.

Bugzilla: el Seguidor d'errors

El Krita comparteix el seguidor d'errors amb la resta de la comunitat KDE. Els errors del Krita es troben sota el producte Krita. Hi ha dos tipus d'informes en el seguidor d'errors: errors i desitjos. Vegeu els capítols sobre Informar dels errors i Solucionar els errors sobre com manejar-los. Els desitjos són peticions de característiques. No informeu de les sol·licituds de característiques en el Bugzilla a menys que un desenvolupador us ho hagi demanat. Consulteu el capítol sobre Sol·licitar característiques per a veure què cal per a crear una bona sol·licitud de característica.

Esprints

De vegades, els desenvolupadors i usuaris principals del Krita s'uneixen, la majoria de les vegades a Deventer, als Països Baixos, per a treballar junts en el nostre disseny del codi, disseny de l'experiència d'usuari, el lloc web o qualsevol altra cosa que necessiti un contacte real, cara a cara. El viatge als esprints sol ser finançat per la KDE e.V., mentre que l'allotjament és finançat per la Krita Foundation.

Mark-up conventions for the Krita Manual

This details the style conventions for using restructured text for the Krita Manual.

It's recommended to look over the official specification [http://docutils.sourceforge.net/rst.html] for reStructuredText, and given it lives on sourceforge, to save a copy to your harddrive (sourceforge has, at this time of writing, some issues with server uptime):

User Manual:

Primer [http://docutils.sourceforge.net/docs/user/rst/quickstart.html]

Quick Ref [http://docutils.sourceforge.net/docs/user/rst/quickref.html]

Text Cheatsheet [http://docutils.sourceforge.net/docs/user/rst/cheatsheet.txt]

Reference Documentation:

Introduction [http://docutils.sourceforge.net/docs/ref/rst/introduction.html]

Markup [http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html]

Directives [http://docutils.sourceforge.net/docs/ref/rst/directives.html]

Roles [http://docutils.sourceforge.net/docs/ref/rst/roles.html]

Sphinx specific docs:

Sphinx' page on restructured text [http://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html] -- This is useful for the specific sphinx directives and roles it uses to generate for example table of contents.

There are differences between the official reStructuredText and the sphinx docs multiple ways to do things. This document specifies the suggested conventions to go with.

Contingut

Mark-up conventions for the Krita Manual

Meta data

Headings

Linking

Footnotes and further reading

Images

In-text Markup

Substitution References

Lists

Ordinated lists

Unordered lists

Definition Lists

Tables

Admonishments and asides

Code Snippets

Other preformatted text

Glossaries, Terms and Index

Quotes

Meta data

Each page should start with the following three things:

A meta description

This is a general description of the page. It will be converted to an html meta tag which will be used by search engines:

.. meta::
    :description:
        Description.

A list of authors and a license.

This is just to keep track of who edited the page and to give credit. It should be in a comment so that it will not end up being easily readable by machines. The license of the whole manual is GDL 1.3 and should also be mentioned here:

.. metadata-placeholder

   :authors: - Author 1
             - Author 2
   :license: GNU free documentation license 1.3 or later.

Indexing terms.

These are comma-separated terms under which the page will be indexed in Índex. The generated index is quite useful for both pdf as well as people who are not sure what the exact name is of the term they are looking for. They are defined as follows:

.. index:: Keyword, Keyword with Spaces, ! Main Definition Keyword

A label.

This is so we can easily link to the page using :ref:`label_name`. Try to make this a nice variable name:

.. _label_name:

After the label you will need to add a heading, as :ref:`label_name` will refer to the heading to fill out its link-text.

Headings

Headings will be done in the following order:

############
Part/Section
############

For pages that have a lot of subpages.

=========
Heading 1
=========

Start most manual pages with this.

Heading 2
---------

Heading 3
~~~~~~~~~

Heading 4
^^^^^^^^^

Heading 5
'''''''''

Heading 6
"""""""""

These conventions were more or less decided by pandoc's mediawiki to reStructuredText conversion. If you need more than 4 headings, ask yourself first if the page hasn't gotten too complicated and needs splitting up.

Sometimes you need to link to a subsection of a page, add a label above the heading in that case.

Headers should not end with punctuation, as the header will be used as the link name when linking to a label.

Linking

Linking is done with :ref:`label_name`. When you need an alternative link text, you use :ref:`actual text shown <label_name>`.

Linking to external pages is done with `url`_ and `link name <url>`_, which'll become link name.

Pandoc likes to turn these into `link name`__ and then add `` .. __ :url `` at the end of the document. This is a so-called 'anonymous hyperlink', meaning that depending on the order of the links appearing in the text the order of the links at the end of the text are associated with one another. If this sounds confusing and difficult, it is because it is. That is also the exact reason why we'd like to avoid links like these.

Footnotes and further reading

Footnotes can be made in 3 ways, the most common one is with autonumbering, as per reference:

1 is a reference to footnote 1, and 2 is a reference to footnote 2.

1

This is footnote 1.

2

This is footnote 2.

3

This is footnote 3.

3 is a reference to footnote 3.

Here is a citation reference: [CIT2002] .

CIT2002

This is the citation. It's just like a footnote, except the label is textual.

Citation can also be referenced with citation

We don't actually use footnotes in the manual due to the fact that it is a little bit too academical for our readers. However, we do collect documents and links that give a little bit more information on a topic at the end of a page. Sphinx has the .. seealso:: directive for linking to external links, while reStructuredText suggests to use .. rubic:: Footnotes for specifically collecting footnotes as that plays nice with LaTeX.

Images

Use the image directive for images without captions:

.. image:: /images/en/sample.png
   :width: 800
   :align: center
   :alt: an image.

And figure directives for images with captions:

.. figure:: /images/en/sample.png
   :figwidth: 800
   :align: center
   :alt: an image.

   A caption --  notice how the first letter is aligned with the :figwidth: option.

The latter gives:

A caption -- notice how the first letter of the caption in the directive is aligned with the :figwidth: option.

Images should go into the /images/en folder. By using /images instead of images, sphinx will know the filepath isn't relative.

In-text Markup

You can make text emphasized and strong with a single asterisk and double respectively:

*emphasize*
**strong**

You cannot do both *emphasized and strong*, so take a pick.

You can subscript text and superscript text by using :sub:`text` and :sup:`text`

However, use these super-sparingly! It is preferred to use the existing semantic markup in sphinx in any case, because that makes it easier for translators to make decisions about the nature of the text:

:menuselection:`Settings --> Configure Krita`
:guilabel:`File`
:kbd:`Ctrl + Z`
:program:`Krita`

Avoid randomly bolding words. It does not make the text easier or friendlier to read.

Substitution References

You can create a sort of shorthand for a piece of text or an image by doing:

.. |shorthand| replace:: something or the other.

which means that if you use |shorthand|, in the text, it'll be replaced with 'something or the other'. This is useful for images and text that needs to be formatted in a complicated way, like in the case of "LaTeX".

The krita documentation has |mouseleft|, |mousemiddle|, |mousescroll| and |mouseright|, which'll turn into mouseleft, mousemiddle, mousescroll and mouseright respectively. These are defined in the sphinx conf.py, and are appended to each rst file.

For links, if you reuse the same link over and over, you can write something like the following at the end of the file:

.. _bugzilla: https://bugs.kde.org/
.. _Krita Manual: https://docs.krita.org/

Then, when typing a link, you can just use `bugzilla`_ to link to bugzilla with "bugzilla" used as the text of the link. `Krita Manual`_ will in turn link to docs.krita.org with the text "Krita Manual".

Lists

Ordinated lists

Apple

Pear

Banana

Or...

Table

Chair

Wardrobe.

Augustus

Nero

Caligula

Trajan

They can be defined as follows:

1. Apple
2. Pear
3. Banana

#. Apple
#. Pear
#. Banana

A. Table
B. Chair
C. Wardrobe

A. Table
#. Chair
#. Wardrobe

I. Augustus
#. Nero
#. Caligula
#. Trajan

Unordered lists

red

yellow

green

seagreen

verdigris

teal

veridian

emerald

dark emerald

light emerald

very light emerald.

blue

Defined as such:

- red
- yellow
- green
    - seagreen
    - verdigris
    - teal
    - veridian
    - emerald
        - dark emerald
        - light emerald
            - very light emerald.
- blue

Definition Lists

A favourite! Definition lists are especially useful when dealing with enumerating all the options in a docker and trying to add a simple explanation behind them.

Definition

explanation.

Another option

Explanation.

To make them.

You can make them like this:

Definition
     explanation.
Another option
    Explanation.

Tables

Purpose | Table type
listing shortcuts | Simple table
lots of colspans | Grid table
Simple but long | List Table

Done as follows:

================== ============
Purpose            Table type
================== ============
listing shortcuts  Simple table
lots of colspans   Grid table
Simple but long    List Table
================== ============

+-----------------+------------+
|Purpose          |Table Type  |
+=================+============+
|listing shortcuts|Simple table|
+-----------------+------------+
|lots of colspans |Grid table  |
+-----------------+------------+
|Simple but long  |List table  |
+-----------------+------------+

.. list-table::
   :header-rows: 1

   - * Purpose
     * Table Type
   - * listing shortcuts
     * simple table
   - * lots of colspans
     * grid table
   - * simple but long
     * list table

Full grid tables are best for when you need all features like complex column and row spans, but they're tricky to make. For that reason, small tables are best off being done with the simple syntax, while really long tables are best done with a list directive because that is just much easier to write and maintain.

Admonishments and asides

Nota

Admonishments are sort of like a separate section that the reader needs to pay attention to.

Admonishments that can be used are the following (in order of seriousness):

Suggerència

Hints are useful to give a little bit more information on a topic than is useful in the main text. Like, hint: these packages are named differently in openSuse versus Debian.

Truc

Extra information on how to do something, like, "you can make a template of your favourite document setup", or "use m to mirror the canvas and see errors more easily in your drawing".

Important

Something that is important to note, but is not necessarily negative.

Avís

This is in general when something is negative.

Atenció

General attention grabber. Use this when the subject is more important than warning, but not as important that is could get a dataloss.

Compte

This is for things that could cause dataloss, like forgetting to save, or that python currently has no undo functionality.

Perill

This should be for things that are dangerous for the computer in general, this includes things that can cause out of memory style freezes.

Error

This one is probably not relevant for a manual. Sphinx can create these manually given some situations, but our configuration does not do so by default.

generic admonition that can have any text.

This looks like the following:

.. admonition:: generic admonition that can have any text.

    Text

Sphinx also adds:

.. seealso::

    Which is useful to collect external links and references.

Horizontal Rulers

Horizontal rulers are usually used when the topic switches rather directly. This is very common in more narrative based writing, such as history or fiction. The Krita manual is more instruction and reference style writing, that is to say, we don't usually tell a long story to indicate how different elements come together, but rather long stories are there to motivate why certain steps are taken in a certain manner. Topic changes then usually happen because we go into a new section, rather than switching to a related section. It is therefore better to use headings or the .. Topic:: directive. Headings also make it easier to read.

That said, horizontal rulers can be made with ----.

The rubric directive.

The rubric directive is a heading directive that at first glance looks like "topic", but where the topic is over several paragraphs, rubric itself only deals with the header, like so:

.. rubric:: The rubric directive.

So, when to use these?

Only use them when you think the subject is too minor to have a proper heading.

Topic

When the text is separated from the flow, so it goes into a different subject than the text itself is naturally going to.

Rubric

When the text isn't separated from the flow, but it does not need a header either.

Admonishments

Only when they fit semantically. This is especially necessary for the danger and warning admonishments, as seeing them too often can make users blind to them.

Code Snippets

Inline code snippets are done with ``backticks``.

Multi-line code snippets are done by ending the previous section with ::, which'll look like this:

This is a paragraph, and we define a preformated snippet like so::

    Be sure to add a white space and a tab afterwards before starting the snippet.

You can also use the .. code:: directive. If you add the language name after it, it'll do the appropriate syntax highlighting:

.. code:: python

    def my_function():
        # comment
        alist = []
        alist.append(1)
        string = "hello world"

Becomes

def my_function():
    # comment
    alist = []
    alist.append(1)
    string = "hello world"

some more...

int myFunction(int i) {
    i += 1;

    // Check if more than 12
    if (i>12) {
        i = 0;
    }
    return i;
}

body {
    margin: 0 auto;
    /* is 800 still sensible? */
    max-width:800px;
    font-size:16px;
    color:#333;
    background-color: #eee;
    padding:1em;
    font-family:serif;
    line-height: 1.4;
}

<p>this <span style="font-style:italic">is</span> <!-- a comment --> a paragraph.</p>

Other preformatted text

One can

preformat

text by

prepending

each line

with a pipe

symbol

Like so:

| One can
| preformat
| text by
| prepending
| each line
| with a pipe
| symbol

We don't actually use this anywhere in the manual.

Glossaries, Terms and Index

These are sphinx features.

Index is used in the top section, right now only single index entries are used.

Glossaries are used for some of the menu entry sections, but not all of them.

Quotes

Quotes are done like this:

I am not sure why you'd need quotes in a user manual...

-- Wolthera

This becomes a blockquote.

I am not sure why you'd need quotes in a user manual...

—Wolthera

We do actually use quotes in some places. Try to add a link to the name to define where it came from.

Krita Manual Contribution Guide

Welcome to our new documentation!

We've moved from userbase.kde.org to docs.krita.org, then we moved from Mediawiki to Sphinx. This latter change is because Sphinx allows us to handle translations much better than mediawiki can.

The manual will include:

A reference manual for Krita

This one is probably what everyone is expecting when they type in docs.krita.org. Dry, basic, 'what does this button do' type of information.

General concept tutorials.

We've found over the past two years that for certain types of users, a reference manual, even with some examples, just isn't enough. The manual should also provide fast and concise explanations for things, and provide a basic workflow for preparing an image for the web.

We also have found that certain concepts, such as color management and layer handling are far more advanced in Krita than the average artist is used to. Krita is free and many of its users will not have formal training in digital artwork. So there is no pre-existing artist-focused knowledge on how to use color management or filter layers.

In addition there are systems that are unique to Krita, for example the brush system, the transform masks, the alpha inheritance and the perspective assistants. Finally, there are users who aren't familiar with even standard painting workflows, and are not flexible enough to understand how to port a tutorial for Sai or Photoshop to Krita.

A list of known tutorials and video tutorials

Apparently, one of the great things about Krita's team is how we connect with artists and acknowledge that they're doing cool stuff. The same should count for tutorials, especially because there are ways of using Krita and ways of approaching painting that are unique and we should encourage people to share their knowledge.

Contributor's Manual

Krita is (free) open source software, which makes us effectively a community project, with dozens of volunteers pitching in to make it better. This, of course, requires we keep track of manuals and howto's for new volunteers to come in and help us. The various places we've done this have been rather spread out, and are often under maintained. The contributor's manual is an attempt to solidify all the information. It is therefore very technical in places.

krita.org tutorials

There have been a bunch of tutorials on the krita.org and the krita-foundation.tumblr.com, the former focusing on explaining how to use a new feature and the later stimulated by user request.

FAQ

This one is already online and a merger of the different FAQs that we had. It's currently being translated and we hope to keep this one the primary one to update.

For first timers

Unlike Mediawiki, Sphinx works more like how we write code for Krita.

First things first, you will want to talk to us! For this you can either go to the IRC on krita.org (#krita on freenode.org) [https://krita.org/en/irc/], or, more importantly, make an account at identity.kde.org [https://identity.kde.org/]. The account you make at identity can be used to both access the forum as well as the phabricator [https://phabricator.kde.org], where we organise Krita development.

If you have no idea where to begin, make a Kde identity account and make a post on the forum [https://forum.kde.org/viewforum.php?f=136].

Sphinx works by writing simple text files with reStructuredText mark up, and then it takes those text files and turns them into the manual. We keep track of changes in the manual by putting them into a version control system called Git.

Making changes

Because we use Git, there's only a few people who can put things into the version control system, so if you want to make changes you will need to put it up for review.

If you are not familiar with Git

Get the source text from the repository [https://phabricator.kde.org/source/websites-docs-krita-org/].

Save a copy of the text as it existed originally.

Modify it.

Tools to check whether your modifications work.

You can use the Online Sphinx Editor [https://livesphinx.herokuapp.com/] to check if your changes don't break

Bundle up the items into a zip.

Put all the files you changed into a zip file. This also includes the images if you're changing them. Try to keep the filenames the same, that's easier for us to copy over.

Upload the zip on phabricator.

First, go to phabricator.kde.org and log in with your identity account.

Go to the Manual Project Workboard [https://phabricator.kde.org/project/view/135/] and there create a new task.

Explain what you did and use drag and drop to move the zip file to the input textbox. That should upload it. We will also need the email address you associate with your kde identity account.

Then, if the changes are accepted, someone with commit access will unpack those files into the manual folder and push the differences using the mail address.

If you are familiar with Git

Get the source from the repository [https://phabricator.kde.org/source/websites-docs-krita-org/] using Git clone

Make changes

Build locally (optional)

Generate a git diff.

Go to the source directory in your terminal and write git diff > ../mydiff.diff this will make a diff file in the folder above.

Create a review request on phabricator

Login into phabricator [https://phabricator.kde.org] with your identity account.

Go to differential.

Upper-right --> "Star" menu --> Create Review Request.

Upload the diff you made, select the correct repository (websites-docs-krita-org, easier to find with Krita.org Documentation Website, make sure you do not select docs-kde-org!).

Confirm the file is correct.

Then in the next screen:

Add in Title/Short Summary.

Tell us what you changed in the summary.

(Optional) put your email in the comment if you want attribution.

Phabricator has a system that automatically tags the review request with the Krita Manual team.

General philosophy

This is for determining what is an appropriate writing style. A writing style, whether we consider its practical or aesthetic qualities, is usually underpinned by a goal or general philosophy. What do we want to achieve with the manual, and for whom is the manual meant?

Demographics and target audience(s)

We cannot talk about a demographic in the sense that we know all Krita users are 55 year old men. Krita is used by a hugely different amount of people, and we are actually kind of proud that we have such a varied userbase.

Despite that, we know a couple of things about our users:

They are artists. This is explicitly the type of users that we target.

Therefore, we know they prefer pretty pictures.

They are visual.

They are trying to achieve pretty pictures.

Therefore, the implicit goal of each page would be to get the feature used for pretty pictures.

Other than that, we've observed the following groups:

High-school and college students trying out drawing software for illustrations. These usually have some previous experience with drawing software, like Painttool Sai or Photoshop, but need to be introduced to possibilities in Krita. This group's strength is that they share a lot of information with each other like tips and tricks and tutorials.

Professionals, people who earn their money with digital drawing software. The strength of this group is that they have a lot of know-how and are willing to donate to improve the program. These come in two types:

Non technical professionals. These are people who do not really grasp the more mathematical bits of a piece of software, but have developed solid workflows over the years and work with software using their finely honed instincts. These tend to be illustrators, painters and people working with print.

Technical professionals. These are people who use Krita as part of a pipeline, and care about the precise maths and pixel pushing. These tend to be people working in the games and VFX industry, but occasionally there's a scientist in there as well.

Adult and elderly hobbyists. This group doesn't know much about computers, and they always seem to get snagged on that one little step missing from a tutorial. Their strength as a group is that they adapt unconventional workflows from real life that the student wouldn't know about and the professional has no time for and create cool stuff with that, as well as that they have a tempering effect on the first group in the larger community.

From these four groups...

there's only one that is technical. Which is why we need the concept pages, so that we can create a solid base to write our manual texts on top of.

three of them likely have previous experience with software and may need migration guides and be told how.

two of them need to know how to get Krita to cooperate with other software.

two of them have no clue what they are doing and may need to be guided through the most basic of steps.

From that we can get the following rules:

General Writing

Use American English if possible.

We use American English in the manual, in accordance to Krita's UI being American English by default.

Keep the language polite, but do not use academic language.

As a community, we want to be welcoming to the users, so we try to avoid language that is unwelcoming. Swearing is already not condoned by KDE, but going to the far other end, an academic style where neither writer nor reader is acknowledged might give the idea that the text is far more complex than necessary, and thus scare away users.

Avoid using gifs (open for debate)

The reason is that people with epilepsy may be affected by fast moving images. Similarly, gifs can sometimes carry too much of the burden of explanation. If you can't help but use gifs, at the least notify the reader of this in the introduction of the page.

Keep it translation compatible

This consists of using svg for infographics, and using the appropriate markup for a given text.

Regarding photos and paintings

I would like to discourage photos and traditional paintings in the manual if they are not illustrating a concept. The reason is that it is very silly and a little dishonest to show Rembrandt's work inside the Krita GUI, when we have so many modern works that were made in Krita. All of the pepper&carrot artwork was made in Krita and the original files are available, so when you do not have an image handy, start there. Photos should be avoided because Krita is a painting program. Too many photos can give the impression Krita is trying to be a solution for photo retouching, which really isn't the focus.

Of course, we still want to show certain concepts in play in photos and master paintings, such as glossing or indirect light. In this case, add a caption that mentions the name of the painting or the painter, or mentions it's a photograph.

Photos can still be used for photobashing and the like, but only if it's obviously used in the context of photobashing.

Regarding images in general

Avoid text in the images and use the caption instead. You can do this with the figure directive.

If you do need to use text, make either an SVG, so the text inside can be manipulated easier, or try to minimize the amount of text.

Try to make your images high quality/cute. Let's give people the idea that they are using a program for drawing!

Remember that the manual is licensed under GDPL 1.3, so images submitted will be licensed under that. In the case of CC-By-Sa/CC-By ensure that the file gets attributed appropriately through a figure caption. Needless to say, don't submit images that cannot be licensed under either license.

Protocol

So here we line out all the boring workflows.

Tagging and Branches

Adding and removing text will be done in the draft branch.

Proofreading results for old pages will be considered as bugfixes and thus will go into the master branch and merged into the draft branch as necessary.

Before the draft branch is merged for a given release:

The master branch will be tagged with the old version.

The draft branch is first double checked that it has updated version number and updated epub cover.

The draft branch will not be merged until the day before a release to keep the pages intact for long enough.

Each release will have a version of the epub uploaded as part of the release process. .. Where do we get the POT files from? Even the translated versions?

Removing Pages

If a feature is removed in a certain version, the corresponding pages.

Will first be marked deprecated.

This can be done as so:

.. deprecated:: version number

    Text to indicate what the user should do without this feature.

Will be linked on a page called 'deprecated'

If the next version rolls around all the pages linked in the deprecated section will be removed.

Adding Pages

Ensure that it is located in the right place.

Follow the Mark-up conventions for the Krita Manual to ensure the page is formatted correctly.

Add the page to the TOC.

If the feature is new, add in versionadded:

.. versionadded:: version number

    optional something or the other.

As with images, don't add text that you do not have permission to add. This means that text is either written by you, or you have permission to port it from the original author. The manual is GDPL 1.3+ so the text will be relicensed under that.

Changing Pages

If you fully rewrite a page, as opposed to proofreading it, the resulting page should be reviewed.

If you change a page because a feature has changed, and you have commit access, the change can be pushed without review (unless you feel more comfortable with a review), but you should add:

.. versionchanged:: version number

    This and that changed.

In all cases, check if you want to add yourself to the author field in the metadata section on top.

Using deprecated, versionadded and versionchanged with the version number allows us to easily search the manual for these terms with grep:

grep -d recurse versionadded * --exclude-dir={_build,locale}

Faulty pages

If a page slips through the cracks, either...

Make a review request per the Making changes section.

Make a task at the Manual Project Workboard [https://phabricator.kde.org/project/view/135/].

Make a bug at bugzilla [https://bugs.kde.org/] under the project Krita in the section 'documentation'.

Proofreading

There are two types of proofreading that needs to be done.

The most important one is reviewing changes people make. You can do this on phabricator in two ways:

Reviewing patches in differential.

Reviewing patches is done in differential. Patch reviewing is usually done by programmers to find mistakes in each other's code, but because programming code is text based just like regular text, we can use patch reviewing to check against typos as well!

A patch, or diff, is an amount of changes done in a document (added, removed) put into a machine readable file. When someone submits a review request (on system like gitlab or github this is a merge or pull request), people who maintain the original files will have to look them over and can make comments about things needing to change. This allows them to comment on things like typos, over-complicated writing but also things that are incorrect. After a patch has been accepted it can be pushed into the version control system.

Auditing changes in the manual.

Auditing changes happens after the fact. You can audit a change by going to the commit message (from the repository page, go to history and then click on an entry), where you will be able to make comments on the changes made.

In both cases, the interface consists of the difference being shown, with on the left the old version, and on the right the new version. Lines that have been added will be marked in green while lines that have been removed will be marked with red. You can click a line to add an 'inline' comment. Usually, when reviewing you go over the whole set of changes making comments where needed. To submit the inline comments, go to the bottom here you can add a general comment. When you submit the general comment all the inline comments will be submitted along side of it.

The second major way the manual needs to be proofread is over the whole file. Many of the pages have only been checked for correctness but not for style and grammar.

For this you will need to follow the Making changes section, so that you can have full access to the pages and edit them.

Translating

Translation of the manual is handled by the KDE localization community [https://l10n.kde.org/]. To join the translation effort, go to the localization site, select the list of translation teams [https://l10n.kde.org/teams-list.php], select the language you wish to translate for, and follow the instructions on the team page to get in contact with fellow translators.

The localization team has access to the PO files for this manual, which is a file type used by translation programs like POEdit and Lokalize. A translation team is able to work together on translating these files and uploading them to the translations SVN. A special script will then take the translations from the SVN and bring them to the manual section to be incorporated on a daily basis.

Finished translations also need to be added to the build script to show up online. Translator teams which are confident in the state of their translation should contact the main Krita team via the kimageshop mailinglist(kimageshop@kde.org), or foundation@krita.org, to accomplish this.

Other

For restructured text conventions, check Mark-up conventions for the Krita Manual .

Imatges per al manual

Aquesta és una extensió de Desar per a la web. En particular, es tracta de crear imatges per al manual i com optimitzar-les.

Contingut

Imatges per al manual

Eines per a crear captures de pantalla

Windows

Linux

OS X

El format de fitxer adequat per a la tasca

Optimitzar les imatges en qualitat i mida

Windows

Linux

Optimitzar els PNG

Optimitzar els GIF

Optimitzar els JPEG

MacOS/ OS X

Editar les metadades d'un fitxer

Windows i OS X

Linux

Visualitzar les metadades

Descartar les metadades

Extreure les metadades

Incrustar les metadades de descripció

Incrustar les de metadades de la llicència

Utilitzar les propietats

Utilitzar el XMP

Eines per a crear captures de pantalla

Ara, si voleu crear una imatge de la pantalla amb tots els acobladors i eines, llavors Desar per a la web no us ajudarà gaire: després de tot, només tracta sobre el contingut en el llenç!

Per tant, en comptes d'això, farem una captura de pantalla. Depenent del vostre sistema operatiu, hi ha disponibles diverses utilitats per a la captura de pantalla.

Windows

El Windows disposa d'una eina incorporada de captura de pantalla. De manera predeterminada amb la tecla Impr. En els portàtils de vegades caldrà fer servir la tecla Fn.

Linux

Tant el Gnome com el KDE disposen d'eines decents per a la captura de pantalla que es mostren de manera predeterminada utilitzant la tecla Impr, igual que altres entorns d'escriptori populars. Si, per alguna raó, no la teniu:

ImageMagick

Amb ImageMagick, podreu utilitzar la següent ordre:

import -depth 8 -dither <filename.png>

Si bé hauríem de minimitzar la quantitat de GIF en el manual per una varietat de raons d'accessibilitat, de vegades encara necessitareu crear GIF i vídeos curts. A més, els GIF són molt macos per a mostrar característiques amb notes de llançament.

Per a crear GIF curts, podeu utilitzar els programes següents:

Peek [https://github.com/phw/peek] -- Disposa d'una «appimage» i té una interfície d'usuari molt senzilla. Igual que molts programes d'enregistrament de la pantalla, mostra problemes sobre Wayland.

OS X

La drecera per a la captura de pantalla en OS X és Majús. + Ordre + 3, segons la documentació oficial d'Apple [https://support.apple.com/en-us/HT201361].

El format de fitxer adequat per a la tasca

Diferents formats de fitxer són millors per a certs tipus d'imatges. Al final, volem tenir imatges que es vegin bé i que tinguin una mida de fitxer baixa, perquè això fa que el manual sigui més fàcil de descarregar o navegar sobre Internet.

Captures de pantalla de la IGU

Aquestes haurien d'utilitzar PNG i, si és possible, GIF.

Imatges que tenen un munt de colors plans.

Aquestes haurien d'utilitzar PNG.

Imatges en escala de grisos

Aquestes haurien de ser en GIF o PNG.

Imatges amb un munt de degradats

Aquestes haurien de ser en JPG.

Imatges amb un munt de transparència.

Aquestes haurien de ser en PNG.

La lògica és la manera en què cada un d'aquests desa els colors. El JPEG és ideal per a fotografies i imatges amb molts degradats perquè es comprimeix de manera diferent. No obstant això, els contrastos no funcionen bé en el JPEG. El PNG funciona molt millor amb imatges amb contrastos més definits, mentre que en alguns casos fins i tot podrem tenir menys de 256 colors, en aquest cas el GIF podria ser millor.

Les imatges en escala de grisos, fins i tot quan tenen moltes variacions dels degradats, haurien de ser en PNG. La raó és que quan utilitzem imatges a tot color, estem, segons la imatge, utilitzant de 3 a 5 números per a descriure aquests valors, i cadascun d'aquests valors té la possibilitat de contenir qualsevol dels 256 valors. El JPEG i altres formats de fitxer «amb pèrdua», utilitzen trucs psicològics intel·ligents per a retallar la quantitat de valors que una imatge necessita per a mostrar el seu contingut. No obstant això, quan creem imatges en escala de grisos, només farem un seguiment de la claredat. La claredat és només un número, que pot tenir 256 valors, farà que sigui molt més fàcil utilitzar només GIF o PNG, en lloc de JPEG, el qual podria tenir defectes desagradables. (I, també és una mica més petit).

Quan dubteu, empreu PNG.

Optimitzar les imatges en qualitat i mida

Ara, mentre la majoria d'editors d'imatges intenten donar valors predeterminats bons a la mida de la imatge, sovint podem fer que encara siguin més petites utilitzant determinades eines.

Windows

L'eina més habitualment recomanada per això a Windows és IrfranView [https://www.irfanview.com/], però el volgut escriptor d'aquest document no té ni idea de com utilitzar-lo amb exactitud.

L'altra opció és utilitzar el PNGCrush com s'esmenta a la secció Linux.

Linux

Optimitzar els PNG

Hi ha una llista completa d'eines disponibles a Linux per a l' optimització dels PNG [https://css-ig.net/png-tools-overview]. Vénen en dues categories: amb pèrdua (emprant trucs psicològics) i sense pèrdua (intentant comprimir les dades de manera més convencional). Les següents són les més recomanades:

PNGQuant [https://pngquant.org/]

Un compressor de PNG que utilitza tècniques amb pèrdua per a reduir de manera intel·ligent la quantitat de colors utilitzats.

Per utilitzar el PNGquant, aneu a la carpeta escollida i escriviu:

pngquant --quality=80-100 image.png

On «image» se substituirà amb el nom del fitxer d'imatge. En prémer Retorn, apareixerà una imatge nova a la carpeta amb el resultat de la compressió. El PNGQuant funciona per a la majoria de les imatges, però en algunes, com els selectors de color, no ho fan gaire bé, pel que verifiqueu sempre que la imatge resultant es vegi bé; en cas contrari, proveu amb una de les següents opcions:

PNGCrush [https://pmt.sourceforge.io/pngcrush/]

Un compressor PNG sense pèrdua. Ús:

pngcrush image.png imageout.png

Aquest provarà amb els mètodes més habituals. Afegiu -brute per a provar amb tots els mètodes.

Optipng [http://optipng.sourceforge.net/]

Un altre compressor PNG sense pèrdua, el qual es pot executar després d'utilitzar el PNGQuant, aparentment és originalment una bifurcació del PNGCrush. Ús:

optipng image.png

On «image» serà el nom del fitxer. Després procedirà a provar diversos algoritmes de compressió i sobreescriurà el fitxer image.png amb la versió optimitzada. Podeu evitar sobreescriure'l amb l'ordre --out imatge_sortida.png.

Optimitzar els GIF

FFMPEG [http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html]

Gifski [https://gif.ski/]

LossyGif [https://kornel.ski/lossygif]

Optimitzar els JPEG

Ara, el JPEG és realment difícil d'optimitzar adequadament. Això es deu al fet que és un format de fitxer amb pèrdua <lossy_compression>, i vol dir que utilitza trucs psicològics per a emmagatzemar les seves dades.

No obstant això, trucs com aquests es tornen molt obvis quan la vostra imatge té molt de contrast, com el text. A més, els fitxers JPEG no funcionen bé quan es tornen a desar una i altra vegada. Per tant, assegureu-vos que hi hagi una versió sense pèrdua de la imatge en algun lloc que pugueu editar, i que només el resultat final estigui en JPEG i es comprimeixi encara més.

MacOS/ OS X

ImageOptim [https://imageoptim.com/mac] -- Un embolcall de la interfície gràfica d'usuari al voltant de les eines de línia d'ordres com PNGquant i gifski.

Editar les metadades d'un fitxer

De vegades, la informació personal s'incrusta en un fitxer d'imatge. Altres vegades, volem incrustar informació en un fitxer per a documentar-lo millor.

No hi ha menys de 3 a 4 formes diferents de gestionar les metadades, i les metadades tenen diferents maneres de gestionar-se en certs fitxers.

L'eina més utilitzada per editar les metadades és ExifTool, una altra és utilitzar l' ImageMagick.

Windows i OS X

Per obtenir l'ExifTool, simplement obteniu-lo des del lloc web [https://www.sno.phy.queensu.ca/~phil/exiftool/].

Linux

A Linux, també podeu instal·lar l'ExifTool.

Debian/Ubuntu

sudo apt-get install libimage-exiftool-perl

Visualitzar les metadades

Canvieu el directori a la carpeta on es troba la imatge i escriviu:

exiftool image

On «image» és el fitxer que us agradaria examinar. Si només escriviu exiftool en una carpeta determinada, es generarà tota la informació que pugui proporcionar sobre qualsevol fitxer que trobi. Si observeu bé algunes imatges, veureu que contenen metadades sobre l'autor o ubicació. De vegades, això pot ser una mica problemàtic quan es tracta de privacitat, i també és la raó principal per la qual es descarten totes les metadades.

També podeu utilitzar l'ordre «identify» de l'ImageMagick [https://www.imagemagick.org/script/identify.php]:

identify -verbose image

Descartar les metadades

Descartar les metadades de l'exemple imatge.png es pot fer de la següent manera:

ExifTool [http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce/Remove-EXIF-Metadata-from-Photos-with-exiftool]

exiftool -all= imatge.png

Això buidarà totes les etiquetes a les quals pugui accedir l'ExifTool. També podeu ser específics i només eliminar una sola etiqueta: exiftool -author=imatge.png

OptiPNG

optipng -strip imatge.png Això descartarà dades i comprimirà el fitxer PNG.

ImageMagick [https://www.imagemagick.org/script/command-line-options.php#strip]

convert imatge.png --strip

Extreure les metadades

De vegades volem extreure les metadades, com un perfil icc, abans de descartar-ho tot. Això es fa convertint la imatge al tipus de perfil:

L'ordre «convert» de l'ImageMagick [https://imagemagick.org/script/command-line-options.php#profile]

Primer extraieu les metadades a un perfil fent la conversió:

convert image.png image_profile.icc

Després descarteu dades del fitxer i torneu a afegir la informació del perfil:

convert -profile image_profile.icc image.png

Incrustar les metadades de descripció

Les metadades de descripció són realment útils per ajudar a les persones amb lectors de pantalla. Els navegadors web sovint intentaran emprar-les si no hi ha text alternatiu per a generar-lo. Altres coses que potser voldreu incrustar són coses com dades sobre l'espai de color.

ExifTool

ImageMagick

Establir un valor Exif:

convert -set exif:ImageDescription "An image description" image.png image_modified.png

Establir el fragment PNG per a la descripció:

convert -set Description "An image description" image.png image_modified.png

Incrustar les de metadades de la llicència

De certa manera, incrustar les metadades de la llicència és realment agradable perquè permet marcar la imatge de forma permanent. No obstant això, si algú la puja en un altre lloc web, és molt probable que les metadades es descartin amb ImageMagick.

Utilitzar les propietats

Podeu utilitzar «dcterms:license» per a definir el document on s'aplica la llicència.

ImageMagick

Per a la GDPL:

convert -set dcterms:license "GDPL 1.3+ https://www.gnu.org/licenses/fdl-1.3.txt" image.png

Això defineix un nom abreujat i després el text de la llicència.

Per a la Creative Commons BY-SA 4.0:

convert -set dcterms:license "CC-BY-SA-4.0 http://creativecommons.org/licenses/by-sa/4.0/" image.png

El problema d'utilitzar les propietats és que són una manera no estàndard de definir una llicència, de manera que les màquines no podran fer gaire amb elles.

Utilitzar el XMP

El lloc web de Creative Commons suggereix que utilitzem XMP per a això [https://wiki.creativecommons.org/wiki/XMP]. Pot sol·licitar que la llicència Creative Commons triï generar un fitxer XMP adequat mentre trieu una llicència.

Haurem d'utilitzar les etiquetes XMP per a l'ExifTool [https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/XMP.html].

Així doncs, veurem alguna cosa així:

exiftool -Marked=true -License="http://creativecommons.org/licenses/by-sa/4.0" -UsageTerms="This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>." -Copyright="CC-BY-SA-NC 4.0" image.png

Una altra manera de fer el marcatge és:

exiftool -Marked=true -License="http://creativecommons.org/licenses/by-sa/4.0" -attributionURL="docs.krita.org" attributionName="kritaManual" image.png

Amb l'ImageMagick podreu tornar a utilitzar l'opció del perfil.

Primer extraieu les dades (si n'hi ha):

convert image.png image_meta.xmp

Després modifiqueu el fitxer resultant i incrusteu les dades a la imatge:

convert -profile image_meta.xmp image.png

Les definicions XMP per llicència. Podeu generar un fitxer XMP per a les metadades en el lloc web de Creative Commons.

Technical Pages

"In my 20+ year experience managing projects i learned that tools or systems don't manage anything, people do. and if people need tools they'll get them or make them"

—Ton Roosendaal, on #blendercoders

Some parts of the contributor's manual are for people who wish to help with the more technical parts of contributing to an open source project.

Because technical computer terms are very hard to translate, people who wish to do technical contributions must know English. This is not just because these pages would be hard to translate, but also because the main developers who work on the program will have a hard time figuring out the names of technical terms in languages other than English. Therefore, these pages will not be translated.

Outside of these pages we also recommend taking a look at...

The KDE API Documentation Guidelines [https://community.kde.org/Guidelines_and_HOWTOs/API_Documentation]

KDE wide Guidelines and HOWTOs [https://community.kde.org/Guidelines_and_HOWTOs]

Contents:

Building krita with Docker

Building Krita from Source

CMake Settings for Developers

Introduction to Hacking Krita

Modern C++ usage guidelines for the Krita codebase

Developing Features

Optimizing tips and tools for Krita

Advanced Merge Request Guide

Reporting Bugs

Running Krita from Source

Triaging Bugs

Unittests in Krita

Building krita with Docker

The Dockerfile is based on the official KDE build environment that is used on KDE CI for building official AppImage packages. This guide is valid for Ubuntu and Ubuntu-based Linux distributions.

Contingut

Building krita with Docker

Prerequisites

Build the docker image and run the container

Enter the container and build Krita

Extra developer tools

Stopping the container and cleaning up

Troubleshooting

Krita binary is not found after the first build

OpenGL doesn't work on NVidia GPU with proprietary drivers

Not enough space on root partition

Prerequisites

First make sure you have Docker installed

sudo apt install docker docker.io

Then you need to download deps and Krita source tree. These steps are not included into the Dockerfile to save internal bandwidth

# create directory structure for container control directory
git clone git://anongit.kde.org/scratch/dkazakov/krita-docker-env.git krita-auto-1

cd krita-auto-1
mkdir persistent

# copy/checkout Krita sources to 'persistent/krita'
cp -r /path/to/sources/krita ./persistent/krita

## or ...
# git clone kde:krita persistent/krita

# download the deps archive
./bin/bootstrap-deps.sh

Build the docker image and run the container

./bin/build_image krita-deps
./bin/run_container krita-deps krita-auto-1

Enter the container and build Krita

# enter the docker container (the name will be
# fetched automatically from '.container_name' file)

./bin/enter

... now you are inside the container with all the deps prepared ...

# build Krita as usual
cd appimage-workspace/krita-build/
run_cmake.sh ~/persistent/krita
make -j8 install

# start Krita
krita

Extra developer tools

To install QtCreator, enter the container and start the installer, downloaded while fetching dependencies. Make sure you install it into '~/qtcreator' directory without any version suffixes, then you will be able to use the script below:

# inside the container
./persistent/qt-creator-opensource-linux-x86_64-4.6.2.run

To start QtCreator:

# from the host
./bin/qtcreator

Stopping the container and cleaning up

When not in use you can stop the container. All your filesystem state is saved, but all the currently running processes are killed (just ensure you logout from all the terminals before stopping).

# stop the container
./bin/stop

# start the container
./bin/start

If you don't need your container/image anymore, you can delete them from the docker

# remove the container
sudo docker rm krita-auto-1

# remove the image
sudo docker rmi krita-deps

Troubleshooting

Krita binary is not found after the first build

Either relogin to the container or just execute source ~/.devenv.inc

OpenGL doesn't work on NVidia GPU with proprietary drivers

The docker run script automatically forwards the GPU devices into the container, but it doesn't install the drivers for the GPU. You should install exactly the same version of the driver that is installed on your host system. Just run the following script when you are on host:

./bin/install_nvidia_drivers.sh

Not enough space on root partition

All the docker images and containers are stored in a special docker-daemon controlled folder under /var directory. You might not have enough space there for building Krita (it needs about 10 GiB). In such a case it is recommended to move the docker images folder into another location, where there is enough space.

echo 'DOCKER_OPTS="-g /home/devel5/docker"' >> /etc/default/docker

Building Krita from Source

If you want to help developing Krita, or if you want to run the latest version of Krita on macOS, you need to know how to build Krita yourself. If you merely want to run the latest version of Krita on Windows or Linux, to test a bug or play with, you can use the nightly build for Windows [https://binary-factory.kde.org/job/Krita_Nightly_Windows_Build/] or the nightly build for Linux [https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/]

Contingut

Building Krita from Source

Building on Linux

Preparing your development environment

Getting the Source Code

Configuring the Build

Installing

Environment Variables

Updating

Trouble Shooting

Common problems

You can build Krita on Linux, Windows and OSX. The libraries Krita needs (for instance to load and save various image types) are called dependencies.

Linux is the easiest operating system to build Krita on because all the libraries that Krita needs are available on most recent Linux distributions. For an easy guide to building Krita see Building Krita on Linux for Cats [http://www.davidrevoy.com/article193/guide-building-krita-on-linux-for-cats]

On OSX you can use tools like homebrew to get the dependencies, or build the dependencies manually. Building the dependencies manually is recommended because we have a number of changes to the source for libraries to make them function better with Krita.

On Windows you will have to build the dependencies yourself.

The build instructions for OSX/macOS and Windows are maintained as part of Krita's source code repository [https://phabricator.kde.org/source/krita/browse/master/3rdparty/README.md]. You will need to VERY carefully follow these instructions.

Building on Linux

This page only deals with building Krita on Linux. However, some remarks are the same for all operating systems, especially when it comes to running cmake and dealing with errors. You need to be familiar with using a terminal.

There are two options: you can either build Krita in your home directory, or use Docker [https://cgit.kde.org/scratch/dkazakov/krita-docker-env.git/tree/README.md], which makes setting up a development environment easier.

Preparing your development environment

The most convenient layout is as follows:

$HOME/kritadev/krita -- the source code

$HOME/kritadev/build -- the location where you compile krita

$HOME/kritadev/install -- the location where you install krita to and run krita from

we will call the "kritadev" folder your build root.

Note: type in what's shown after '>' in the following commands

you@yourcomputer:~>mkdir kritadev
you@yourcomputer:~/>cd kritadev
you@yourcomputer:~/kritadev> mkdir build
you@yourcomputer:~/kritadev> mkdir install

Getting the Source Code

Open a terminal and enter the build root. Clone Krita from kde's git infrastructure (not github):

you@yourcomputer:~/kritadev> git clone git://anongit.kde.org/krita.git

Configuring the Build

you@yourcomputer:~/kritadev> cd build

Krita uses cmake (https://cmake.org) to define how Krita is built on various platforms. You first need to run cmake to generate the build system, in the kritadevs/build directory, then run make to make Krita, then run make install to install krita.

you@yourcomputer:~/kritadev/build>cmake ../krita -DCMAKE_INSTALL_PREFIX=/path/to/kritadev/install  -DCMAKE_BUILD_TYPE=RelWithDebInfo

Unless you have installed all the dependencies Krita needs, on first running cmake, cmake will complain about missing dependencies. For instance:

-- The following RECOMMENDED packages have not been found:

* GSL, <http://www.gnu.org/software/gsl>
Required by Krita's Transform tool.

This is not an error, and you can fix this by installing the missing package using your distribution's package manager. Do not download these packages manually from the source website and build them manually. Do use your distribution's package manager to find the right packages.

For example, for Ubuntu, you can start with:

you@yourcomputer:~/kritadev/build>apt-get build-dep krita

Which will install all the dependencies of the version of Krita in the repositories.

However, the development version might use different dependencies, to find these, you can use apt-cache search:

you@yourcomputer:~/kritadev/build>apt-cache search quazip
libquazip-dev - C++ wrapper for ZIP/UNZIP (development files, Qt4 build)
libquazip-doc - C++ wrapper for ZIP/UNZIP (documentation)
libquazip-headers - C++ wrapper for ZIP/UNZIP (development header files)
libquazip1 - C++ wrapper for ZIP/UNZIP (Qt4 build)
libquazip5-1 - C++ wrapper for ZIP/UNZIP (Qt5 build)
libquazip5-dev - C++ wrapper for ZIP/UNZIP (development files, Qt5 build)
libquazip5-headers - C++ wrapper for ZIP/UNZIP (development header files, Qt5 build)

You will want to get the 'dev' library here, because you're doing dev, and then Krita is using Qt5, so select that one. If this doesn't help, check the Ubuntu packages search [https://packages.ubuntu.com/].

If all dependencies have been installed, cmake will output something like this:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/boud/dev/b-krita

Until that is shown, cmake has not succeeded and you cannot build Krita. When this is shown, you can build Krita:

you@yourcomputer:~/kritadev/build> make

You can speed this up by enabling multithreading. To do so, you first figure out how many threads your processor can handle:

cat /proc/cpuinfo | grep processor | wc -l

Then, add the resulting number with -j (for 'Jobs') at the end, so for example:

you@yourcomputer:~/kritadev/build> make -j4

Installing

When the build has fully succeeded, you can install:

you@yourcomputer:~/kritadev/build> make install

And when that is complete, you can run Krita:

you@yourcomputer:~/kritadev/build>../install/bin/krita

Environment Variables

Now, to get Krita to work by just typing krita into the terminal, we'll need to set up some environment variables. This will allow your system to know where Krita is located.

Let's show to your system the right path, inside a terminal, copy line by line :

export KDEDIRS=$HOME/kritadev/install:$KDEDIRS
export PATH=$HOME/kritadev/install/bin:$PATH

You will now be able to run Krita by typing krita into the terminal.

Environment variables are never permanent. So we need to configure the system to set them each time you login. To set them at any login, write them with your favorite text editor at the end of your ~/.profile file (on certain distributions, the profile is named xprofile, check the hidden files in your home/your-user-name folder).

Updating

Now, Krita is in constant development, so you will want to update your build from time to time. Maybe a cool feature got in, or a bug was fixed, or you just want the latest source.

First, we get the new source from the git repository:

you@yourcomputer:~> cd ~/kritadev/krita/
you@yourcomputer:~/kritadev/krita> git pull

If you want to get the code from a specific branch, you will need to checkout that branch first:

you@yourcomputer:~/kritadev/krita> git checkout <name of the branch>
you@yourcomputer:~/kritadev/krita> git pull

Then, we build again:

you@yourcomputer:~/kritadev/krita> cd ~/kritadev/build/
you@yourcomputer:~/kritadev/build> make install

If you update daily, you might want to automate these command by making your own minimal bash script.

Trouble Shooting

The recent development version might break, or sometime be just unusable. Experimental changes are made daily.

This will affect your productivity if you don't know how to 'go back in time' (for example, your favorite brush doesn't work anymore).

But if you know how to do it, no issue can really affect you, because you know how to come back to a previous state.

To travel the source in time we need to read the timeline history. The terminal tool for it is git log.

you@yourcomputer:~> cd ~/kritadev/krita/
you@yourcomputer:~/kritadev/krita> git log

With git log, you can consult all the last changes to the code, the 'commit'. What we're interested in is the long identification number, the 'git hash' (such as cca5819b19e0da3434192c5b352285b987a48796). You can scroll the git log, copy the ID number then quit(letter Q on keyboard). Then time-travel in your source directory:

you@yourcomputer:~/kritadev/krita> git checkout cca5819b19e0da3434192c5b352285b987a48796
you@yourcomputer:~/kritadev/krita> git pull

And, we build again:

you@yourcomputer:~/kritadev/krita> cd ~/kritadev/build/
you@yourcomputer:~/kritadev/build> make install

To update again to the actual and 'fresh from a minute ago' source-code named master, simply ask git to come back to it with git checkout then pull to update :

you@yourcomputer:~/kritadev/krita> git checkout master
you@yourcomputer:~/kritadev/krita> git pull

Common problems

Outside of the source being unstable, there's the following common problems:

The most common problem is a missing dependency. Install it. A missing dependency is not an "error" that you need to report to the other Krita developers.

A dependency can also be too old. CMake will report when the version of a dependency is too old. That is also not an "error". You might need to update your Linux installation to a newer version.

You can also have a successful build, then update your linux installation, and then find that Krita no longer builds. A library got updated, and you need to remove the CMakeCache.txt file in your build dir and run cmake again.

Sometimes, changes in Krita's source code from git revision to git revision make it necessary to make your installation and/or build dir empty and build from scratch. One example is where a plugin is removed from Krita; the plugin will be in your install dir, and won't get updated when Krita's internals change.

CMake Settings for Developers

The CMake [https://www.cmake.org] build system generators used by Krita is one of the most used build system generators in the C++ world. A build system is a system that describes how an application should be built from source code. CMake generates a build system from the information given in the CMakeLists.txt and *.cmake files. It is a complete but rather unusual language.

If you start working on Krita, you will need knowledge of two things: how to run the cmake generator, and which variables are important there, and how to edit the CMakeLists.txt files. This page tells you how to run the cmake generator.

The cmake generator is run like this:

cmake -DSOME_CMAKE_VARIABLE=SOME_VALUE ../path/to/source

That is, every option is prefixed with -D, followed by a usually uppercase variable name, the equal sign and the value. The following variables are important for Krita.

You cannot build Krita inside the source directory, so you need to give the path to the source directory, where the top-level CMakeLists.txt file is found.

Contingut

CMake Settings for Developers

BUILD_TESTING

CMAKE_INSTALL_PREFIX

CMAKE_BUILD_TYPE

CMAKE_PREFIX_PATH

HIDE_SAFE_ASSERTS

KRITA_DEVS

PYQT_SIP_DIR_OVERRIDE

USE_LOCK_FREE_HASH_TABLE

FOUNDATION_BUILD

KRITA_ENABLE_BROKEN_TESTS

LIMIT_LONG_TESTS

ENABLE_PYTHON_2

BUILD_KRITA_QT_DESIGNER_PLUGINS

BUILD_TESTING

If set to ON, the unittests will be built. All developers should have this enabled! You run the unittests with `make test`, or you can run them on their own from their location in the build tree.

CMAKE_INSTALL_PREFIX

This determines where Krita will be installed to. By default this is `/usr/local` on Linux, which is not what you want.

CMAKE_BUILD_TYPE

This has three options: Debug, RelWithDebInfo and Release. Developers should always use Debug, because otherwise ASSERTS will not fire, and developers should pay attention to asserts. Packagers should use RelWithDebInfo.

CMAKE_PREFIX_PATH

This can be set to make the build system look for dependencies in other places than the default one.

HIDE_SAFE_ASSERTS

If set to ON, Krita will not show popups whenever the code encounters a problem that developers need to know about, but users not. If set to OFF, Krita will popup a little message window telling you about the error, of OFF, it will print the information to the terminal. For developers, either is fine, at least, if you start Krita and pay attention to the terminal output. For packagers, it should be ON.

KRITA_DEVS

This is to be used with the Debug CMAKE_BUILD_TYPE, to re-enable optimizations that make it possible to actually work with Krita. By default, Debug disables all compiler optimizations, and Krita needs those.

PYQT_SIP_DIR_OVERRIDE

If you have built your own PyQt and SIP, use this to make sure Krita can find them.

USE_LOCK_FREE_HASH_TABLE

This option enables the experimental lock free hash table. This is ON by default at the moment.

FOUNDATION_BUILD

This option is for packaging Krita on systems that do not have the default color themes shipped by KDE Plasma.

KRITA_ENABLE_BROKEN_TESTS

A number of unittests are known to be broken. They should be fixed, but in the meantime, having dozens of failing unittests hides regressions. Set this to ON to run the broken tests. These tests are always built.

LIMIT_LONG_TESTS

When set to ON, the default, some unittests will be cut short. Set to OFF to test for stress conditions.

ENABLE_PYTHON_2

Use Python 2 instead of Python 3. Only to be used when integrating Krita in a python2-based VFX pipeline.

BUILD_KRITA_QT_DESIGNER_PLUGINS

OFF by default, enable this to build plugins for Qt Designer/Qt Creator so you can add Krita specific widgets to .ui files.

Introduction to Hacking Krita

Contingut

Introduction to Hacking Krita

Getting started with KDE Software

Getting Started

Building Krita

Working with the Krita codebase

Debugging

Tips when Tackling Issues

Calligra and Krita

Style guidelines

Development Philosophy

Getting in Touch

Contributing Patches

Forking on Gitlab

Getting started with KDE Software

Krita is a great place to start even if you are brand new to KDE development. We'd love to have you join! You'll be able to work on one of the coolest and fastest-growing open source painting programs out there. Krita also benefits from a modular architecture and the use of the KDE Frameworks and Qt libraries, which makes it easier to focus on new features instead of reinventing the wheel. And it makes coding fun! To work on Krita, you have to use C++ and Qt. It's a good way to learn both, actually!

KDE has undergone big changes since a major 2014 reorganization [https://www.kde.org/announcements/kde-frameworks-5.0.php] . As a result, working with KDE software has never been easier. Unfortunately, since the changes were so widespread, the documentation has not caught up at all. If you are embarking on this journey, it would be very generous to share your discoveries with others and update pages. (=

Getting Started

Here's some links to get your started.

Most important, the repository [https://invent.kde.org/kde/krita]. There is a mirror on Github [https://github.com/KDE/krita], however note that we do not use Github for development, do not create pull requests or file issues on github.

KDE Developer wiki - The KDE Techbase Wiki has instructions for new developers. On top of basic tools like C++, git, and general notions such as building software libraries, some special tools that are particular to Krita are Qt, CMake, and KDE Frameworks. It can be very helpful to get started by finding some of the articles discussing these tools and reading up. Here are some of the more useful pages to get you started:

https://techbase.kde.org/Development

https://techbase.kde.org/Contribute

https://techbase.kde.org/Development/Git/Configuration

https://techbase.kde.org/Development/Tutorials

http://flossmanuals.net/kde-guide

http://doc.qt.io/ Qt has some of the best documentation of any software library.

Set up your development environment and build Krita!

Find a few bugs to fix in KDE's Bugtracking system [https://bugs.kde.org/]. It's often a good idea to get some experience with the code through fixing bugs, to get familiar with the development process without being overwhelmed. Though there's nothing against working on that cool feature that scratches your itch!

If you intend to be a regular contributor to Krita, even just for bugreports and feature discussion, the first thing you will want to do is register for a KDE Identity account [https://identity.kde.org/]. This serves as your mostly-universal login to KDE code repositories and websites.

Building Krita

To get started, all you need to do is get a copy of Krita and build it! This is not all that much much different from building something off GitHub... except that Krita is a very large compared to most software. There are build guides to get you going on various platforms, but of course Linux is easiest.

Working with the Krita codebase

Here's some pointers for working with our codebase.

Architecture

The code base changes all the time with Krita, we're not afraid of big refactorings, so there is no up to date documentation on the code architecture. There have been some written in the past, but they quickly became outdated and of little use. There is a fairly up to date API guide [https://api.kde.org/extragear-api/graphics-apidocs/krita/html/index.html] if you want to look at how the code is structured.

Integrated Development Environment (IDE)

The most popular IDEs that we use are Qt Creator, Emacs, KDevelop, or vim. Qt Creator has the advantage of the ctrl-k menu, which lets you leap to classes, lines, everywhere. You don't have to build with Qt Creator though! It can be easier to jump to the terminal, do a 'make', check what's up, and then jump back to the IDE.

Resources

The most important step to learning the code is to really understand memory management: pointers, smart pointers and pointer arithmetic. This is something that Java and C# developers will need to spend a little more time understanding. Here are a couple resources to get you more familiar with C++ and Qt:

Qt Concepts [http://qt-project.org/doc/qt-4.8/how-to-learn-qt.html]

Design Patterns with Qt [http://www.ics.com/designpatterns/book/index.html]

C++ in a Nutshell by O'Reilly (book)

Debugging

There are large and small problems. For small problems the debugger in Qt Creator (run external application) or adding qDebug messages to the code is fine. If the problem is difficult, the first step should always be to write a unit test. A small bit of code that follows a set pattern and exercises the faulty code and shows the problem. That helps so much figuring out a fix and keeping it fixed.

When you run a debug build of Krita, you may be surprised how little debug output you see. This is because most of Krita's debugging information is turned off by default. The debug statements are grouped into categories such as dbgUI, dbgKrita and so on. The output categories are controlled by an environment variable QT_LOGGING_RULES.

The list of Krita's debug categories is contained in kis_debug.h and main.cc, and the rules for the environment variable are described in the Qt reference for QLoggingCategory [http://doc.qt.io/qt-5/qloggingcategory.html].

As an example, to enable most of Krita's debug output, you can run the following:

export QT_LOGGING_RULES="krita*=true"; krita

Using the rule *=true will produce a firehose, if you want it.

Tips when Tackling Issues

Features and Refactorings

Sometimes you just know that a lot of work is going to be needed to reach a particular goal. These will go in separate feature branches off 'master'.

Performance Improvements

Sometimes you don't feel like working on a feature -- or someone mentioned something being particularly slow. The first thing to do then is carry out that scenario when Krita runs under callgrind [http://c.learncodethehardway.org/book/ex41.html] and vtune [http://en.wikipedia.org/wiki/VTune]. These tools show bottlenecks at the end of a run. It's important to use both, since both give different insights!

Bugs

Sometimes you rummage around the bugs on b.k.o to see what looks like a nice Saturday morning fix. Sometimes a bug is really urgent (like all data loss bugs). Sometimes someone on IRC or the forum mentions a bug. The first thing to do is reproduce it. The second thing is to look in the code to see what is going on. If it's a crash bug, especially one that seems mysterious, it might help to google for a few of the key lines in the backtrace. Sometimes it's a distribution issue!

Blockers

If you are helping with Krita and your progress is being blocked by something - let us know! Talk with us on the Krita developer IRC [https://krita.org/irc/] and we will see what we can do to help!

Calligra and Krita

In October 2015, the Krita project separated from the rest of the Calligra office suite. The new repository still clearly contains this history. Most source code files will have one of two prefixes. "Ko" stands for KOffice, the original name of Calligra office suite. These files mostly comprise basic, lower-level libraries. "Kis" stands for KImageShop, the original name of Krita. These files are where most of the painting-specific functionality is maintained.

Krita 2.9 stable is built from the Calligra repo. Krita 3.x and above is built from the Krita repo.

Style guidelines

See HACKING in the codebase.

Development Philosophy

Krita is nearly ten years old, consists of something like a million lines of code, and has had many individual contributors throughout the years. If you run into something in the code that doesn't make sense to you, it may very well not make sense to anyone. Developing a codebase this large is an art form, you should feel confident in making risky changes even if you're not sure they'll work, you can always go back with git checkout -- * if you mess it up!

Getting in Touch

If you're working on a bug fix, or maybe a bit of GUI polish, you might get stumped. The best thing to do then is to get in touch with the rest of the Krita team. Part of the fun of working on an open source application is the community, after all! Join us on #krita on irc.freenode.net (keep in mind that most people are in Europe or India) and just ask your question. Stay around, especially if you don't get an answer immediately. Some of the developers have their irc client open permanently and will often answer questions hours later!

You can also send mail to the mailinglist: kimageshop@kde.org. It's better not to send mail to individual developers directly, you might accidentally pick someone who hasn't got the answer, and miss the chance of getting your question answered by another Krita developer.

Contributing Patches

Patch review and development tracking happens on gitlab [https://invent.kde.org]. To log in, enter your KDE Identity in the LDAP login field. You can join the Krita: Next [https://phabricator.kde.org/project/profile/8/]. If you are used to Github, the transition to gitlab is not difficult [https://invent.kde.org/help/#new-to-git-and-gitlab], but it is slightly different.

To push to invent.kde.org, you will not need to have SSH access setup, but you do KDE identity account. If several of your merge requests are accepted, you can get a commiter's account, which will allow you to push directly to the repositories. You can read more about that here: Getting a developer account [https://community.kde.org/Infrastructure/Get_a_Developer_Account]

Atenció

Since moving to the gitlab instance, we don't use git@git.kde.org:krita but rather git@invent.kde.org:kde/krita. Gitlab will not be able to see your commits if you push to the former. You can use git remote set-url origin git@invent.kde.org:kde/krita to get everything pointing correctly.

So then, how does an aspiring contributor submit patches?:

Forking on Gitlab

Nota

Work In Progress.

Forking on gitlab is done by going to the repository [https://invent.kde.org/kde/krita] and pressing fork. You will then make a personal fork of the repository.

In your fork, you press clone to get the git urls to do the git clone from. You can then pull and push your commits from these.

You can also use the Web IDE to make your changes on invent.kde.org, but because Krita is a cpp program, we don't recommend this outside of typo fixes and doxygen. You wouldn't be able to see the effect of your changes, after all!

Make your first fix, push everything to your fork.

Once you're done, go to merge requests and press new merge request

Tell us what you've done in detail.

The Krita developers be informed of new merge requests, and will try to review your request as soon as possible. If you suspect your patch slipped through the cracks, don't hesitate to make contact us through the means described above. Check the Advanced Merge Request Guide for further guidance.

bg.. meta::

description

Guide to using features from C++11, C++14 and beyond in Krita's codebase.

Modern C++ usage guidelines for the Krita codebase

Contingut

Modern C++ usage guidelines for the Krita codebase

General links about using Modern C++ in Qt

Particular Features

Type Inference (auto)

Range-based for loop

General Initializer Lists

Lambdas, and new-style signals/slots

constexpr

<algorithm>

enum class

Local type definitions (i.e. using)

nullptr

Deleted, default, override, final

unique_ptr/QScopedPointer

Performance-related (rvalues)

Move Constructors

Reference Qualifiers (rvalue references)

C++11 features mostly for template programming

Other C++11 features that will not be useful

General links about using Modern C++ in Qt

There have been a few links discussing mixing C++11 with Qt, and starting with Qt 5.6 C++11 support will be default. Note: there is a lot of hype about C++11, and although many of its new features are quite welcome, often the trade-offs from these changes get neglected.

ICS.com [http://www.ics.com/blog/qt-and-c11]

qt.io [http://blog.qt.io/blog/2011/05/26/cpp0x-in-qt/]

woboq.com: c++11 in Qt5 [http://woboq.com/blog/cpp11-in-qt5.html]

woboq.com: c++14 in Qt5 [http://woboq.com/blog/cpp14-in-qt.html]

FOSDEM 2013 presentation slides [https://archive.fosdem.org/2013/schedule/event/introcplusplus11/attachments/slides/203/export/events/attachments/introcplusplus11/slides/203/fosdem2013_cpp11.pdf]

Here are some more general purpose guides to C++11 features.

C++11 FAQ [http://www.stroustrup.com/C++11FAQ.htmlBjarneStroustrup's] - the grand daddy

Older, more thorough introductions to several topics [http://www.informit.com/authors/bio/e19aded6-574c-4c46-8511-101f9f0ed8f8]

Qt's API design principles do not always overlap with the C++ Standards Committee design principles. (Range-based for demonstrates the design clash pretty clearly.)

https://wiki.qt.io/API_Design_Principles

Particular Features

Under "drawbacks," every item should list: "Programmers will face another feature they must learn about."

Type Inference (auto)

Motivation:

If a function f has a return type Type, it is redundant to write a local variable Type x = f(y). Using auto declarations is a simplification in two ways scenarios. First, it allows the programmer to write code without worrying about doing the manual type deduction, for example:

for( KoXmlReader::const_iterator x = iter.begin(),... ) { }

versus:

for (auto x = iter.begin(), ...) { }

This is particularly useful with nested template types and C++11 lambdas, and other complex types which have an obvious role, but a lengthy type definition.

A second important benefit of auto is that it allows the programmer to more easily refactor. Suppose we have a function gimmeSomeStrings() which returns a QList<QString>, and we access it somewhere else like this

auto someStrings = gimmeSomeStrings();

If we later decide that we want to store a hash of strings and that gimmeSomeStrings should return a QMap<int, QString>, we probably won't need to make any changes inside the client snippet if we are doing tasks like iterating.

Drawbacks:

the use of auto is be obfuscating. For example, auto x = 2 is not obviously an integer, and auto x = {"a", "b", "c"} returns std::initializer_list, and sometimes it is not clear what some function returns by the name of the function.

Recommendation:

Do not use auto, except, maybe, in loops, where there can be no confusion about the type of what is looped. But even there, hesitate.

Range-based for loop

Motivation:

This is something a long time coming in C++. It is a standardized replacement for Qt's foreach() construct, which works not only with Qt objects but all iterable C++ types.

for (T x : list ) { ... }

It will work with standard tooling and static analysis, and can be faster by defaulting to in-place access. For this reason range-based iterators should always be used for STL containers, if those are ever needed in Krita.

Drawbacks:

By default, Qt's foreach rewites the code to make a shallow copy and then use const accessors, while c++11 does the opposite, avoiding copying when possible. When using const accessors, this is faster, but if you try to make changes to the data, this will slow your loop down instead [http://www.dvratil.cz/2015/06/qt-containers-and-c11-range-based-loops/].

Recommendation:

Sometimes, the range-based for is faster. Sometimes the Qt iterator is faster. Personally I like the range-based for in principle, since it works better with static analysis, it has a faster best-case speed, and it is always possible to write it in a way that replicates the foreach() behavior, though the reverse is not true.

On the other hand, there is a bad, dangerous worst case performance hit when a detach/copy is triggered, and this is not easy to catch with standard syntax. In the blog post linked above, the discussion explains that is possible to get around this limitation by defining a macro const_(), which will gives a new syntax to request the compiler use constant iterators:

for (T x : _const(list) ) { ... }

Qt's recommendation on the other hand is to use foreach() for Qt iterators, and range-based for on STL containers, because you always know what you're getting, and you always keep your syntax easy to read. In my opinion is the most meaningful new feature without any sort of clear answer, and quite interesting to think about.

General Initializer Lists

Motivation:

Initializer lists are intended to work in many different places to simplify the syntax for complicated initialization. For example, a list of strings could be initialized const QStringList x = {"abc", "def", "xyz"  }; and if you later changed the type to QVector<QString>, or even std::list<std::string>, you wouldn't have to make any change to the right hand side.

A second place initializer lists are used is in creating standard initial values for class members. This takes the place of writing a lengthy constructor list like:

Type::Type()
 : MemberString1("a")
 , Subclass1(0)
 , Subclass2(1)
 , ...

In addition to being more concise, it saves you from repeating yourself, if you have several constructors which all start with the same defaults.

Mixed uniform initialization is a separate new feature of initializer lists when constructing classes. It is possible to specify some defaults when you declare member variables, but then override them with delegating constructors. This MSDN page is a good reference [https://msdn.microsoft.com/en-us/library/dn387583.aspx].

Drawbacks:

None I can think of. This is super simple, completely obvious to read and write, and shortens code by removing long unnecessary lists of defaults.

Recommendation:

Yes!

Lambdas, and new-style signals/slots

Motivation:

Lambda expressions are a big new addition for C++11. Many programmers claim they start to feel like an essential part of the language very quickly. One of the biggest uses for lambdas is in the standard algorithm library <algorithm>, which is described below. In Qt5, this, along with std::function and std::bind, allow for One of the most useful C++11 integrations, a new signal/slot syntax which replaces the moc macros SIGNAL() and SLOT() with standard C++.

Old style:

connect(sender, SIGNAL (valueChanged(QString,QString)),  receiver, SLOT (updateValue(QString)) );

New style:

connect(sender, &Sender::valueChanged, receiver, &Receiver::updateValue );

New style signals and slots provide a great benefit from the tooling perspective: now, all types for functions and function arguments can be checked statically, and you don't have to catch typos by monitoring debug messages saying "no such slot."

Another possibility is to use lambdas directly inside connect(), instead of defining a class member function which is only used once. The greatest benefit is that the function can be defined right where it is used; it also aids readability to get rid of a list of tiny helper functions from the header.

"Qt5: C++11 lambdas are your friend" [http://artandlogic.com/2013/09/qt-5-and-c11-lambdas-are-your-friend/]

C++ language reference [http://en.cppreference.com/w/cpp/language/lambda]

Qt.io New Signal/Slot Syntax [https://wiki.qt.io/New_Signal_Slot_Syntax] Also gives detailed pros/cons.

Drawbacks:

The new-style syntax makes it somewhat harder to use default arguments, which requires the use of lambdas. It is also perhaps a little less pretty.

Lambdas in general are have become one of the most clunky pieces of C++11 notation. Since they allow a great deal of options for example, capturing by reference with [&] and capturing by value with [=], they are a significant new addition to the C++ learning curve. Using small local functions with uninformative names like auto F = [&] ( x ) { whatever } is confusing for everyone.

Although it is possible to use lambdas are tricky inside signals and slots, there are gotchas. Lambdas will not disconnect automatically, although there is a special syntax to make that happen.

Recommendation:

Lambdas will feel strange to many C++ programmers. At a minimum, any time you use them you should add a comment explaining what you're doing. (Krita codebase could use more comments anyway.) New style signals and slots should be used with caution, especially while the 2.9 branch is being maintained.

Overall, the Qt wiki gives a good overview, and I agree with its suggestions, which is to permit a small amount of mixing of the different syntax. Their recommendation is to use new-style signals and slots when possible, which is the vast majority of the time, to fall back on the old macros when one needs to use a default argument, and to use lambdas very rarely, only in cases when one needs to create a signal that is not bound to a particular object. The latter sort of case is not something that C++ newcomers would want to be touching anyway.

constexpr

Motivation:

Performing calculations at compile time can speed things up at runtime. KDAB: speed up your Qt 5 programs using C++11 [https://www.kdab.com/wp-content/uploads/stories/slides/DD12/mutz-dd-speed-up-your-qt-5-programs-using-c++11.pdf]

Drawbacks:

Not easy to use these features.

Recommendation:

This could be useful in specific places, like KoCompositeOpRegistry. Overall it is not something most programmers will run into.

<algorithm>

Motivation:

A handwritten loop that looks for occurences of the number 20 and replaces it with 99 is routine, and will take several lines to write, including defining local variables. Instead, something like

std::replace (myvector.cbegin(), myvector.cend(), 20, 99);

is more concise, safer is even self-documenting, since the name of the function itself explains what it is doing. <u>If you make sure to use Qt's const iterators</u>, there should never see a performance penalty compared to a hand-written loop, there can sometimes even see a gain. A list of standard algorithms can be found here. [http://www.cplusplus.com/reference/algorithm/] Historically Qt provided its own algorithm library, but now encourages programmers to use the STL versions instead, and Qt's own algorithm library will mostly become deprecated. http://doc.qt.io/qt-5/qtalgorithms.html Unlike range-based for, where it is difficult to specify a const iterator instead of a standard iterator, with <algorithm> we are easily able to specify the const iterator.

Drawbacks:

Some of the standard algorithms are not completely obvious from observing the name. For example, I could not personally list what are the five arguments of std::replace_copy off the top of my head, and you shouldn't expect anyone to. When values inside the container need to be modified, non-const iterators may be slower than a Qt foreach() loop.

Recommendation:

Encourage the use of <algorithm> when it improves code clarity. Speed not a big problem most of the time, don't make changes which are hard to understand just for a tiny hypothetical speed boost. However, moving to <algorithm> and away from Qt foreach() inside hot paths could prove useful in the future.

enum class

Motivation:

These are a type-safe version of enums, and allows the programmer to associate several different types of data with an enum, such as a character. This gives stricter type safety, for example, when it might be possible to accidentally convert a variable into a numeric type. For example:

enum class Color : char {Red = 'R', Green = 'G', Blue = 'B'};

Other benefits of enum classes are that they can be forward-declared, and that the data can be any sort of constexpr. For example, if one had a constexpr function color_symbol() that returned the symbol given some color data, the enum class members could be defined like:

enum class Color: char {Red = color_symbol({255, 0, 0}) ...};

The standard C++ reference does a nice job explaining these features. http://en.cppreference.com/w/cpp/language/enum

Drawbacks:

Virtually none. Very small changes to the code, more type safety, removes the need for some tables of values. The only problem is sometimes this requires fixing code that was unsafe to begin with.

Recommendation:

Use freely.

Local type definitions (i.e. using)

Motivation:

An easier and localized way to use typedefs. Can be at the namespace, class, or function level. Allows you to rewrite a typedef so that the new name occurs on the left hand side of the equals sign, which is easier to read. They allow you to place typedefs closer to where they're used. They are particularly nice inside templates.

Drawbacks:

Very few. These are quite intuitive

Recommendation:

Go for it.

nullptr

Motivation:

The use of nullptr as a default pointer initializer is a very small change in C++11, and mostly an aesthetic one. Technically, there are only a few things it prevents : it cannot be converted to a numeric type like int x = nullptr;, and it cannot be used as a class type in a template, so the following is a compiler error:

meta_type<class A, class B>;
meta_type<C, nullptr> x;

The most important to nullptr is simply that you are tagging your code - ''hey: there is a null pointer lurking around here, be careful!''

Drawbacks:

It takes longer to type nullptr than it takes to type 0, and it's not so visually pleasing. Converting the existing code base would be very laborious and mess up git history. Tiny benefits.

Recommendation:

We do not use nullptr in Krita. Not in new code, and we don't refactor old code to use it. Also not Q_NULLPTR.

Deleted, default, override, final

Motivation:

These are keywords used for designing inheritance patterns. They are useful for preventing accidental copy construction.

Drawbacks:

Since Krita does not export libraries, most of the time we won't need to worry about these. They are limited to solving some pretty specialized problems.

Recommendation:

No reason to hold back from these features if they seem useful. They are well named and fairly self-explanatory, especially for developers with a Java or C# background. If you apply them correctly, you can prevent other coders from making mistakes when they use your classes. For others, these definitions can be ignored until they cause a compile error, which tell you that you're doing something the wrong way.

unique_ptr/QScopedPointer

Motivation:

Here is a glowing review of unique_ptr [http://www.drdobbs.com/cpp/c11-uniqueptr/240002708]. This is really about a philosophy of C++ memory management, not just a particular smart pointer type. The idea is that whenever you create an object on the heap, you should always house it inside a smart pointer. The reason this philosophy is considered new to C++11 is that unique_ptr is the first time they 'got it right' designing a very nice smart pointer class. Most importantly, the class uses negligible overhead. In particular: sizeof(unique_ptr<T*>) = size_t, it can be passed as a function argument without copying, and dereferencing is inline.

QScopedPointer is essentially the same thing as unique_ptr, and perhaps it is more idiomatic to use QScopedPointer instead.

Nota

It is a useful idiom to store a d-ptr using QScopedPointer<Private>, but if you do this you must also declare a destructor in the header file, even if it has an empty implementation in the source file.

"Rule of Zero": more about the C++ design philosophy behind unique_ptr. [https://rmf.io/cxx11/rule-of-zero/]

Drawbacks:

The philosophy mentioned above can be summarized like this: we should state up front what we are going to prohibit programmers from doing. Like the const keyword, unique_ptr puts restrictions on what can be done with the pointer, the main one being, it cannot be copied. Like enforcing const correctness, this can be annoying to get right throughout a codebase.

One particular limitation is that Qt container classes. For example QVector<std::unique_ptr> is invalid, because QVector requires its members can be copied. This makes converting to unique_ptr a bit slow, since QVector<T *> will have to be converted to std_array<unique_ptr<T*>>. If the owner was being copied before, it will become uncopiable. This can be a good thing, but it can also be extra work.

Moving a unique_ptr requires additional semantics. [http://www.cplusplus.com/reference/memory/unique_ptr/operator=/]

Recommendation:

Smart pointers are already prevalent in the codebase with the KisSP family, but more use of them should be encouraged. d_ptrs should be wrapped in a QScopedPointer. The rule is: first Krita's shared pointers, then Qt's, do not use the std smart pointers.

Performance-related (rvalues)

Using move constructors and rvalues are very subtle and advanced features, but widely celebrated as successes of C++11. The point of these features is to save on costs of copying memory when passing function arguments. The idea is that if one is OK allowing a function to steal, alter or destroy its argument, then that function can be called slightly faster if the argument is not copied at all, but instead simply performing an ownership transfer. C++ programmers should already be aware that writing performant code where data gets shuffled around sometimes requires opening a can of ampersands. These features will naturally stay confined to the corners of the codebase behind the scenes where they belong, and should be introduced when they are useful.

Tutorial for rvalue references [http://thbecker.net/articles/rvalue_references/section_01.html]

KDAB: speed up your Qt 5 programs using C++11 [https://www.kdab.com/wp-content/uploads/stories/slides/DD12/mutz-dd-speed-up-your-qt-5-programs-using-c++11.pdf]

Slide 37 describes lvalue/rvalue types in exact detail [http://wiki.hsr.ch/PeterSommerlad/files/MeetingCPP2013_SimpleC++.pdf] Also explains the terms "xvalue" and "prvalue" sometimes seen as well.

Move Constructors

Recommendation:

Use whenever it aids performance.

Reference Qualifiers (rvalue references)

Recommendation:

Use whenever it aids performance.

C++11 features mostly for template programming

Krita makes very light use of templates. These features are useful, coming across them in the code base will add complexity for new learners, and have not been necessary so far.

decltype : this is the most likely of these features to be useful, for example, in KisInputManager.

static_assert

variadic templates

Other C++11 features that will not be useful

Threading support (Relies on C++ threading model; use Qt threading instead)

shared_ptr and weak_ptr (Relies on C++ threading model; use KisSharedPointer instead)

New literal types (already have QString/ki18n)

Extended Unions (already have QVariant)

Developing Features

There's several stages to making a feature request become reality. The first section of this page goes over a set of common issues with making feature requests and gives hints on how to make a simple feature request into a proper proposal. The rest documents how a feature goes from a proposal to an actual reality.

Step 1: Making a proposal

“vOpenBlackCanvasMischiefPhotoPaintStormToolKaikai has a frobdinger tool! Krita will never amount to a row of beans unless Krita gets a frobdinger tool, too!”

The cool thing about open source is that you can add features yourself, and even if you cannot code, you talk directly with the developers about the features you need in your workflow. Try that with closed-source proprietary software! But, often, the communication goes awry, leaving both users with bright ideas and developers with itchy coding fingers unsatisfied.

This post is all about how to work, first together with other artists, then with developers to create good feature requests, feature requests that are good enough that they can end up being implemented.

For us as developers it’s sometimes really difficult to read feature requests, and we have a really big to-do list (600+ items at the time of writing, excluding our own dreams and desires). So, having a well written feature proposal is very helpful for us and will lodge the idea better into our conscious. Conversely, a demand for a frobdinger tool because another application has it, so Krita must have it, too, is likely not to get far.

Writing proposals is a bit of an art form in itself, and pretty difficult to do right! Asking for a copy of a feature in another application is almost always wrong because it doesn’t tell us the most important thing:

What we primarily need like to know is HOW you intend to use the feature. This is the most important part. All Krita features are carefully considered in terms of the workflow they affect, and we will not start working on any feature unless we know why it is useful and how it is exactly used. Even better, once we know how it’s used, we as developers can start thinking about what else we can do to make the workflow even more fluid!

Good examples of this approach can be found in the pop-up palette using tags, the layer docker redesign of 3.0, the onion skin docker, the time-line dockers and the assistants.

Feature requests should start on the forum, so other artists can chime in. What we want is that a consensus about workflow, about use-cases emerges, something our UX people can then try to grok and create a design for. Once the design emerges, we’ll try an implementation, and that needs testing.

For your forum post about the feature you have in mind, check this list:

It is worth investigating first if the feature in question has similar functionality in Krita that might need to be extended to solve the problem. We in fact kind of expect that you have used Krita for a while before making feature requests. Check the manual first!

If your English is not very good or you have difficulty finding the right words, make pictures. If you need a drawing program, I heard Krita is pretty good.

In fact, mock-ups are super useful! And why wouldn’t you make them? Krita is a drawing program made for artists, and a lot of us developers are artists ourselves. Furthermore, this gets past that nasty problem called ‘communication problems’. (Note: If you are trying to post images from photobucket, pasteboard or imgur, it is best to do so with [thumb=800][/thumb]. The forum is pretty strict about image size, but thumb gets around this)

Focus on the workflow. You need to prepare a certain illustration, comic, matte painting, you would be (much) more productive if you could just do --- whatever. Tell us about your problem and be open to suggestions about alternatives. A feature request should be an exploration of possibilities, not a final demand!

The longer your request, the more formatting is appreciated. Some of us are pretty good at reading long incomprehensible texts, but not all of us. Keep to the ABC of clarity, brevity, accuracy. If you format and organize your request we’ll read it much faster and will be able to spent more time on giving feedback on the exact content. This also helps other users to understand you and give detailed feedback! The final proposal can even be a multi-page pdf.

We prefer it if you read and reply to other people’s requests than to start from scratch. For animation we’ve had the request for importing frames, instancing frames, adding audio support, from tons of different people, sometimes even in the same thread. We’d rather you reply to someone else’s post (you can even reply to old posts) than to list it amongst other newer requests, as it makes it very difficult to tell those other requests apart, and it turns us into bookkeepers when we could have been programming.

Keep in mind that the Krita development team is insanely overloaded. We’re not a big company, we’re a small group of mostly volunteers who are spending way too much of our spare time on Krita already. You want time from us: it’s your job to make life as easy as possible for us!

So we come to: Things That Will Not Help.

There’s certain things that people do to make their feature request sound important but are, in fact, really unhelpful and even somewhat rude:

“Application X has this, so Krita must have it, too”.

See above. Extra malus points for using the words “industry standard”, double so if it refers to an Adobe file format.

We honestly don’t care if application X has feature Y, especially as long as you do not specify how it’s used.

Now, instead of thinking ‘what can we do to make the best solution for this problem’, it gets replaced with ‘oh god, now I have to find a copy of application X, and then test it for a whole night to figure out every single feature… I have no time for this’.

We do realize that for many people it’s hard to think in terms of workflow instead of “I used to use this in ImagePainterDoublePlusPro with the humdinger tool, so I need a humdinger tool in krita” --- but it’s your responsibility when you are thinking about a feature request to go beyond that level and make a good case: we cannot play guessing games!

“Professionals in the industry use this”.

Which professionals? What industry? We cater to digital illustrators, matte painters, comic book artists, texture artists, animators… These guys don’t share an industry. This one is peculiar because it is often applied to features that professionals never actually use. There might be hundreds of tutorials for a certain feature, and it still isn’t actually used in people’s daily work.

“People need this.”

For the exact same reason as above. Why do they need it, and who are these ‘people’? And what is it, exactly, what they need?

“Krita will never be taken seriously if it doesn’t have a glingangiation filter.”

Weeell, Krita is quite a serious thing, used by hundreds of thousands of people, so whenever this sentence shows up in a feature request, we feel it might be a bit of emotional blackmail: it tries to to get us upset enough to work on it. Think about how that must feel.

“This should be easy to implement.”

Well, the code is open and we have excellent build guides, why doesn’t the feature request come with a patch then? The issue with this is very likely it is not actually all that easy. Telling us how to implement a feature based on a guess about Krita’s architecture, instead of telling us the problem the feature is meant to solve makes life really hard!

A good example of this is the idea that because Krita has an OpenGL accelerated canvas, it is easy to have the filters be done on the GPU. It isn’t: The GPU accelerated canvas is currently pretty one-way, and filters would be a two-way process. Getting that two way process right is very difficult and also the difference between GPU filters being faster than regular filters or them being unusable. And that problem is only the tip of the iceberg.

Some other things to keep in mind:

It is actually possible to get your needed features into Krita outside of the Kickstarter sprints by funding it directly via the Krita foundation, you can mail the official email linked on krita.org for that.

It’s also actually possible to start hacking on Krita and make patches. You don’t need permission or anything!

Sometimes developers have already had the feature in question on their radar for a very long time. Their thinking might already be quite advanced on the topic and then they might say things like ‘we first need to get this done’, or an incomprehensible technical paragraph. This is a developer being in deep thought while they write. You can just ask for clarification if the feedback contains too much technobabble…

Did we mention we’re overloaded already? It can easily be a year or two, three before we can get down to a feature. But that’s sort of fine, because the process from idea to design should take months to a year as well!

To summarize: a good feature request:

starts with the need to streamline a certain workflow, not with the need for a copy of a feature in another application

has been discussed on the forums with other artists

is illustrated with mock-ups and example

gets discussed with UX people

and is finally prepared as a proposal

and then it’s time to find time to implement it!

and then you need to test the result.

Step 2: Triaging the proposal

This is strictly a developer task. What is done is that we identify how much work a proposal would need to be implemented. Since 2016 we use these groups to categorize wishbugs so we can plan them into a current release or select them for a fundraiser.

To fulfill this step, we need to have a full list which consolidated the ideas and requirements. A good feature request from step one will have these lined out.

WISHGROUP: Pie-in-the-sky

not going to happen, but it would be really cool.

WISHGROUP: Big Projects

needs more definition, maybe two, three months of work.

WISHGROUP: Stretchgoal

up to a couple of weeks or a month of work.

WISHGROUP: Larger Usability Fixes

maybe a week or two weeks of work.

WISHGROUP: Small Usability Fixes

half a day or a day of work.

WISHGROUP: Out of scope

too far from our current core goals to implement.

WISHGROUP: Needs proposal and design

needs discussion among artists to define scope first. A good proposal doesn't need this.

Step 3: Discussing in irc/phab

Again, strictly a developer task. While nothing stops an adventurous programmer from just going in and implementing something, it helps to go to the #krita irc on freenode and tell us you're working on it. Not because you need permission(Krita is open source after all), but we do want to be able to help you in your endeavours. Such help can include technical help, like where things are in the code, but also interface design help.

Some features, such as new frame types for animation, or multithreading on some part or the other also needs careful discussion so we know what is going to need changes.

Eventually, a phabricator task will be made to track the issue as well as including mockups. Branch progress is also discussed during the weekly meeting in the irc.

Step 4: Work in a feature branch

New feature branches are called 'name/number-shortdescription'. Examples: "rempt/T379-resource-management", "kazakov/hdr-support", "wolthera/edgedetectionfilter", "jounip/T8764-clone-frames".

Originally this was lastname only, but some users have an endlessly long last name while others prefer using their kde identity name. The main purpose is to identify who is responsible for the work in the branch.

Work in a feature branch continues till all major elements are done. A review request is done over the whole branch. Sometimes, for UI purposes, people check out the branch to test it.

When the review is accepted, the branch is merged into master for further testing. When such a branch is merged, a mail needs to be sent to kimageshop@kde.org to notify everyone about this, you can do this automatically by adding 'CCMAIL:kimageshop@kde.org' to your merge commit.

As Krita's nightlies are based on master that means a binary will be compiled for the master branch with the new feature in at most 24 hours.

Step 5: Documentation and demonstration

When a feature hits the master branch, an entry will be written for the draft branch of this very manual. In particular a reference manual entry will be written to ensure some documentation, some bigger features that interact with one another might also receive a tutorial.

The people who programmed or designed the feature are encouraged to help with this documentation process(as they know it best), but it is not mandatory. What is appreciated is that the issue or task is assigned to the manual team.

Similarly, demonstration videos or images are welcome, as they will be used for the release notes. The release notes for the next big version are available here [https://krita.org/en/krita-4-2-release-notes/], come help us with making the page look good!

Finally, upon release a stable branch is created for the master branch (often named Krita/versionnumber), and a release is made with the new feature.

Optimizing tips and tools for Krita

Hot Spots

thumbnails are recalculated a lot

the histogram docker calculates even when hidden

brush outline seems slow

the calculation of the mask for the autobrush is very slow and doesn't cache anything

caching a whole row or column of tiles in the h/v line iterators should speed up things a lot

tile engine 1 has the BKL; tile engine 2 cannot swap yet and isn't optimized yet

projection recomposition doesn't take the visible area into account

pigment preloads all profiles (startup hit)

gradients are calculated on load, instead of being associated with a png preview image that is cheap to load

Tools

Valgrind

Tips

You can tell callgrind to focus only on the part of the code you want to optimize. This results in cleaner data. For example, you may want to only monitor the performance when drawing a stroke. Unless the thing you're trying to optimize is the program startup, you can tell valgrind to run with the logging, or instrumentation, turned off at start:

valgrind  --tool=callgrind --instr-atstart=no krita

Instrumentation can then be activated and deactivated with callgrind_control. To begin performance monitoring:

callgrind_control -i on

And then to end it:

callgrind_control -i off

I usually write a few aliases in my .bashrc (or .zshrc):

alias callgrind="valgrind --tool=callgrind --instr-atstart=no"
alias callgrind-on="callgrind_control --instr=on"
alias callgrind-off="callgrind_control --instr=off"

Sysprof

mutrace

mutrace [http://0pointer.de/blog/projects/mutrace.html] is a tool that count how much time is spend waiting for a mutex to unlock.

Easy optimization

As soon as you see slow code, try to have a look at the code to see if we aren't creating a lot of unnecesserary objects, 90% of the time slow code is caused by this (the remain 10% are often caused by a lot of access to the tilesmanager, like with random accessor)

For instance:

Avoid:

for(whatever)
{
    QColor c;
    ...
}

Do:

QColor c;
for(whatever)
{

}

It might seems insignificant, but really it's not, on a loop of a milion of iterations, this is expensive as hell.

An other example:

Avoid:

for(y = 0 to height)
{
    KisHLineIterator it = dev->createHLineIterator(0, y, width);
    for(whatever)
    {
        ...
    }
}

Do:

KisHLineIterator it = dev->createHLineIterator(0, 0, width);
for(y = 0 to height)
{
    for(whatever)
    {
        ...
    }
    it.nextRow(); // or nextCol() if you are using a VLine iterator
}

Vector instructions

Krita takes heavy advantage of the Vc [https://github.com/VcDevel/Vc] library to speed up its brush strokes with CPU vector instructions. If you are planning to work with that library, it is worth reading through its documentation.

There are more general introductions to what vector instructions are for, and how they work here.

reference about MMX on Intel's website [http://developer.intel.com/design/archives/processors/mmx/]

Fundamentals of Media Processor Designs [http://www.cise.ufl.edu/~peir/cda6159/media12.pdf]: introduction to the use of MMX/SSE instructions

Software Optimization Guide for AMD64 [http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25112.PDF]

STL like programming but using MMX/SSE{1,2,3} when available [http://www.pixelglow.com/macstl/]

Profile guided optimization

Profile guided optimization is something else though. It is a special way of compiling and linking, that the compiler and linker use profiling information to know how best to optimize the code. So code that is used a lot is compiled with -O3 (the most optimizations), while code that is not used a lot gets -Os (to take less space), and so forth. This is a very useful technique that was not available on Linux until last year, and the news today is that Firefox now builds properly with it and there is a nice noticeable speed improvement for Linux users.

source:

http://linux.slashdot.org/comments.pl?sid=2117150&cid=35987784

wikipedia:

http://en.wikipedia.org/wiki/Profile-guided_optimization

g++ -O3 -march=native -pg -fprofile-generate ...
// run my program's benchmark
g++ -O3 -march=native -fprofile-use ...

Links

Design for Performance [http://www.scribd.com/doc/53483851/Design-for-Performance]: great read about performance optimization (aimed at game developers, but many tricks apply for Krita)

TCMalloc [http://goog-perftools.sourceforge.net/doc/tcmalloc.html]: a malloc replacement which make faster allocation of objects by caching some reserved part of the memory

Optmizing CPP [http://www.agner.org/optimize/optimizing_cpp.pdf]: extensive manual on writing optimized code.

Advanced Merge Request Guide

Since April 2019, we're using Gitlab to review merge requests and patches to the code. Check Forking on Gitlab on how to start with making a merge request.

When to make a merge request

There's three times you need to make merge requests.

When you do not have commit access.

When the change you are making is huge, like with feature development, large refactors, complex bugfixes. For these we do not fork, but instead make a branch in the main repository in the following format: name/number-shortdescription. Check Developing Features for more information.

When you are not sure about whether what you did is correct. It is common within the Krita community that even developers with commit access will have a weaning period in which they still make merge requests for each change as they're getting comfortable with the codebase. It is not mandatory to do so at this point, but requests are the best way for us to help one another with writing good code.

Checklist for review

Here's a quick checklist that is gone over when reviewing patches. While some requests require specialist knowledge, these items are so universal that anyone who knows how to check them can do so and comment on them. Feel free to do this yourself on open requests [https://invent.kde.org/kde/krita/merge_requests?scope=all&utf8=%E2%9C%93&state=opened], we welcome it!

Also check out the manual for reviewing merge requests in Gitlab [https://invent.kde.org/help/user/project/merge_requests/index.md].

Does the code build

Most important check. Apply the patch locally and build it. If it doesn't build, the patch will not be accepted at all.

Does it not crash?

Basically, build the patch, run Krita, and check if the functions associated doesn't crash. If it does, make a backtrace and post it in the review.

Does it leak memory?

Does the patch break tests?

CPP features used.

Is the usage of CPP in accordance with HACKING and the Modern C++ usage guidelines for the Krita codebase guidelines? So for example, is auto not used outside of the single case we accept it?

Is the code in conformance with KDE/Krita style?

Check the HACKING file for directions.

Are the commit messages sensible?

There's several guides for this, but in general, try to make sure that the commit messages actually explain what you did.

https://github.com/RomuloOliveira/commit-messages-guide

Does the patch make sense.

This is in the category of specialist knowledge, but you can apply some common sense here. If a patch for a filter also adjusts the resource management, you can ask yourself why this would be necessary. Furthermore, does the patch actually fix the thing it says it is fixing? These are not easy checks to make, but important things to consider when looking at the patch.

Requests that need changes to them need to be labeled with needs-changes. Requests that are accepted should be labeled accepted. This is to ensure we can figure out which requests are in need of review. Requests that need to be reviewed need to lack both labels.

Reporting Bugs

Krita is, together with many other projects, part of the KDE community. Therefore, bugs for Krita are tracked in KDE's bug tracker: KDE's bug tracker [https://bugs.kde.org]. The bug tracker is a tool for Krita's developers to help them manage bugs in the software, prioritize them and plan fixes. It is not a place to get user support!

The bug tracker contains two kinds of reports: bugs and wishes. Bugs are errors in Krita's code that interrupt using Krita. Wishes are feature requests: the reporter thinks some functionality is missing or would be cool to have.

Do not just create a feature request in the bug tracker: follow Feature Requests [https://krita.org/en/item/ways-to-help-krita-work-on-feature-requests/] to learn how to create a good feature request.

This guide will help you create a good bug report. If you take the time to create a good bug report, you have a much better chance of getting a developer to work on the issue. If there is not enough information to work with, or if the bug report is unreadable, a developer will not be able to understand and fix the issue.

Contingut

Reporting Bugs

Only Report Bugs

Check the FAQ

Ask on Krita's Forum or IRC Chat Channel

Use the Latest Version of Krita

Check The Bug Tracker for Duplicates

Be Complete and Be Completely Clear

You're Not Done After You Have Filed the Report

Only Report Bugs

A bug is a problem in Krita's code.

If you have problems with your drawing tablet, for instance no support for pressure, then that is unlikely to be a problem in Krita's code: it is almost certain to be a problem with your setup or the driver for your tablet.

If you've lost the toolbox, that's not a bug.

If you have deleted your work, that is not a bug.

If Krita works differently from another application, that's not a bug.

If Krita works differently than you expected, that's not a bug.

If Krita is slower than you expected, that's not a bug.

If Krita crashes, that's a bug.

If a file you save comes out garbled, that's a bug.

If Krita stops working, that's a bug.

If Krita stops displaying correctly, that's a bug.

Check the FAQ

If you've got a problem with Krita, first check the FAQ [https://docs.krita.org/en/KritaFAQ.html]. See whether your problem is mentioned there. If it is, apply the solution. If that doesn't work for you, do not report a bug. Ask for help on Krita's Forum [https://forums.kde.org].

Ask on Krita's Forum or IRC Chat Channel

If uncertain, ask on Krita's IRC chat channel [https://krita.org/en/irc/] or the Krita Forum [https://forum.kde.org/krita].

Krita's chat channel is maintained on irc.freenode.net. Developers and users hang out to discuss Krita's development and help people who have questions.

Important

Most Krita developers live in Europe, and the channel is very quiet when it's night in Europe. You also have to be patient: it may take some time for people to notice your question even if they are awake.

Also ...

Krita does not have a paid support staff. You will chat with volunteers, users and developers. It is not a help desk.

But you can still ask your question, and the people in the channel are a friendly and helpful lot.

Use the Latest Version of Krita

Check Krita's website to see whether you are using the latest version of Krita. There are two "latest" versions:

Latest stable: check the Download page [https://krita.org/download/]. Always try to reproduce your bug with this version.

Stable and Unstable Nightly builds. The stable nightly build is built from the last release plus all bug fixes done since the last release. This is called Krita Plus* The unstable nightly build contains new features and is straight from the development branch of Krita. This is called Krita Next. You can download these builds from the Download page [https://krita.org/download/].

Check The Bug Tracker for Duplicates

This can be tricky: many bug reports are very unclear, have misleading subjects or are assigned to the wrong component. The Krita team tries to triage incoming bugs, fixing the subject, the component and asking for more information in case the bug is not clear.

But please do try to check whether a problem has already been reported. If it is, please add your report as a comment to that bug ticket.

Be Complete and Be Completely Clear

Give all information. That means that you should give information about your operating system, hardware, the version of Krita you're using and, of course about the problem.

Operating system: fill in the requisite field in the bug tracker's form

Version: fill in the requisite field in the bug tracker's form

Hardware information: copy the information from the Help ‣ System information for Bug Reports window into your report. Note how many displays you have.

If you are using a drawing tablet, tell us the brand and type.

Tell us what kind of image you were working on: the size, the resolution, the color model and channel depth.

If you are reporting a crash, attach a crash log. Follow this link [https://docs.krita.org/en/reference_manual/dr_minw_debugger.html#dr-minw] to learn how to get a crash log on Windows. On Linux, follow your distribution's instructions to install debug symbols if you have installed Krita from a distribution package. It is not possible to create a useful crash log with Linux appimages.

The problem needs to be clearly stated: - what happened, - what had you expected to happen instead - how the problem can be reproduced.

Give a concise and short description, then enumerate the steps needed to reproduce the problem. If you cannot reproduce the problem, and it isn't a crash, think twice before making the report: the developers likely cannot reproduce it either.

If at all possible, attach your original Krita file (the one that ends in .kra) to the bug report, or if it's too big, add a link for download. If you do that, make sure the file will be there for years to come: do not remove it.

If you think it would be useful, you can also attach or link to a video. Note that the Krita developers and bug triagers are extremely busy, and that it takes less time to read a good description and a set of steps to reproduce than it takes to watch a video for clues for what is going on.

When making a video or a screenshot, include the whole Krita windows, including the titlebar and the statusbar.

You're Not Done After You Have Filed the Report

After you have filed your bug, mail will be sent out to all Krita developers and bug triagers. You do not have to go to the chat channel and tell us you created a bug.

When a developer decides to investigate your report, they will start adding comments to the bug. There might be additional questions: please answer them as soon as possible.

When the developer has come to a conclusion, they will resolve the bug. That is done by changing the resolution status in the bug tracker. These statuses are phrased in developer speak, that is to say, they might sound quite rude to you. There's nothing that we can do about that, so do not take it personally. The bug reporter should never change the status after a developer changed it.

These are the most used statuses:

Unconfirmed: your bug has not been investigated yet, or nobody can reproduce your bug.

Confirmed: your bug is a bug, but there is no solution yet.

Assigned: your bug is a bug, someone is going to work on it. There probably will be a corresponding task on the https://phabricator.kde.org/project/view/8/ developer workboard.

Resolved/Fixed: your bug was a genuine problem in Krita's code. The developer has fixed the issue and the solution will be in the next release.

Duplicate: your bug has been reported before

Needinfo/WaitingForInfo. You need to provide more information. If you do not reply within a reasonable amount of time the bug will be closed.

Resolved/Invalid: your report was not about a bug.

Resolved/Upstream: the issue you observed is because of a bug in a library Krita uses, or a hardware driver, or your operating system. We cannot do anything about it.

Resolved/Downstream: Only on Linux. The issue you observed happens because your Linux distribution packages Krita in a way that causes problems.

See also our chapter on Bug Triaging [https://docs.krita.org/en/untranslatable_pages/triaging_bugs.html]

Running Krita from Source

Triaging Bugs

There are over 1000 bugs and 350 wishes reported against Krita per year, and that number is rising. The Krita developers cannot handle that stream on their own! Please consider helping out by triaging bugs. This document gives some simple guidelines to get started, and some common cases that can often be answered with a standard text.

For more details, see also https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Contingut

Triaging Bugs

Status flow

Platform

Version

Can Reproduce

Cannot Reproduce

Importance

Guidance for using Importance

Asserts and Crashes

Canned Answers and Recognizing Common Reports

Cannot Save

Broken Canvas

My stylus has an offset

Other tablet issues

Krita lags

I cannot paint at all, in a particular document

Status flow

A bug begins as UNCONFIRMED. When triaging, only UNCONFIRMED bugs are still relevant.

Platform

If the user has not entered the Platform correctly (i.e., it is "unspecified/Linux"), then ask which platform they are using. Mark the bug as NEEDDINFO/WAITINFORINFO.

Tell the user:

Please indicate your operating system correctly. For Linux, select the distribution, appimage or compiled from sources and Linux, for Windows, select MS Windows/MS Windows, for OS X or macOS, select macports, disk images or homebrew and OS X.

If the user has selected Windows CE for platform, set it to MS Windows without asking them.

Version

If the user has not entered the version (i.e., the version is unspecified), ask them for the version and mark the bug as NEEDDINFO/WAITINFORINFO.

Tell the user:

Please select the version of Krita you are using. You can find the version in Help/About Krita.

Can Reproduce

If you can reproduce the bug, add a comment indicating you can reproduce it, maybe with clearer steps to reproduce and anything pertinent that you observed. If you have a backtrace, also add it. Set the bug status to CONFIRMED and add the triaged keyword to the keywords.

If you can reproduce the bug, and want to go the extra mile, use an older version of Krita to see whether you could reproduce it there as well. If you couldn't, it's a regression, so add the regression keyword to the keywords and mark which version of Krita the latest was that did not have the bug.

Cannot Reproduce

If you cannot reproduce, the user either has not given enough information or the bug is specific to their system.

If there is not enough information, ask for more information. Depending on the report, the steps to reproduce might need to be described more clearly and/or a screenshot, a screen recording or the original files might be necessary. Set text (ask for what you think is needed):

Ask the user:

I am sorry, I cannot reproduce your issue. Could you specify the steps to reproduce more clearly, and maybe add a screen recording/screenshot/original file

Mark the bug as NEEDINFO/WAITINGFORINFO.

If the issue seems to be specific to the user's system, ask for the output of help/System information for bug reports as well. Set text:

Tell the user:

I am sorry, but I cannot reproduce the bug on my system. Please add the output of help/System Information for Bug reports as well.

Mark the bug as NEEDINFO/WAITINGFORINFO.

Importance

Importance is a tool for developers, not for bug reports. It's developers and triagers who decide what the importance is. If a bug reporter complains about a change in importance, use this text:

Tell the user:

I am sorry, but the importance field is a tool for the developers to work with. Please do not change the importance back.

There are the following Importances:

Critical:

the bug leads to immediate dataloss. Example: a saved file cannot be opened in Krita

Grave:

shouldn't be used, it doesn't mean a thing

Major:

it's a bug, but it's kinda important.

Crash:

the bug is about a crash or an assert 1

Normal:

it's a bug

Minor:

it's a bug, but it's kinda unimportant

Wish:

it's a feature request

Task:

not used.

The main difference is between Wish and the rest: Wishes are feature requests, and don't need immediate triaging. A wish bug is a bug that asks whether some functionality can be added to Krita, or complains that some functionality is missing.

The rest are bugs, that is, problems in Krita that can be fixed by changing Krita's code.

However, we also get many reports that are not bugs and not wishes: reports that are basically users asking for help because they do not understand Krita or their computer, or what a file is, or that Krita isn't the same application as Photoshop. Those reports need to be weeded out, and the status set to INVALID.

Guidance for using Importance

If you encounter a bug that reports dataloss when loading a saved file, set it to critical.

If you encounter a bug that reports a crash or an assert but is not set to crash, set it to crash.

If you encounter a report that asks for functionality that is not currently present, set it to wish.

If you encounter a report that is a user request, check whether you can reply with a link to the faq (https://docs.krita.org/en/KritaFAQ.html), and maybe a canned answer, and change the status of the bug to INVALID.

Asserts and Crashes

1

Crash or assert.

These are different things. A crash happens when Krita spontaneously stops working or hangs. An assert happens when Krita stops working because we, developers, have added some code to detect an invalid state.

Asserts are printed to the terminal or shown in a popup window. You can identify an assert by asking for terminal output, debugview output or by checking the backtrace, if there is one.

If the backtrace contains a line like:

> SAFE ASSERT (krita): "!sanityCheckPointer.isValid()" in file /tmp/nix-build-krita-4.0.0-pre2c.drv-0/krita-1b1695a/libs/ui/KisDocument.cpp, line 490

Or another mention of assert, Q_ASSERT or similar, it's an assert, not a crash.

Canned Answers and Recognizing Common Reports

We get a lot of duplicate bug reports. Sometimes it's clear that it's a duplicate, and you can mark it a such. In all cases, we want to give the reporter useful information so they can solve their problems. Of course, (almost) all solutions are also in the FAQ, but just pointing people to the FAQ is often considered impolite.

So, do never reply to a bug report with:

"Just read the FAQ."

It takes a bit of experience to recognize a bug from an often incomplete description. Here are a couple of common cases:

Cannot Save

For instance: "I cannot save/my file doesn't get saved/it says it cannot copy the file"

This happens most often on Windows, if the user has got any security software installed that doesn't come with Windows. Examples are Sandboxie, Totaldefender, or others. Mark the bug as NEEDSINFO/WAITINGFORINFO and add this text:

Ask the user:

Are you using Windows? If so, do you have any non-standard security software installed such as Total Defender, Sandboxie or XXX? Please make an exception for Krita in the settings, or uninstall this software. Since Windows 10, it is no longer necessary to have any security software installed other than what comes with Windows.

If the user replies that they are using extra security software, close the bug as RESOLVED/INVALID.

Broken Canvas

This happens on Windows. Symptoms will be: the canvas is black, the canvas stays blank, the canvas only updates when the user clicks outside the canvas. Mark the bug as a duplicate of https://bugs.kde.org/show_bug.cgi?id=360601, and add the following text:

Tell the user:

You probably are using a Windows system with an Intel display chip. Please update to Krita 3.3.3, which enables the Direct3D (Angle) renderer by default. If you do not want to update, check https://docs.krita.org/en/KritaFAQ.html#krita-starts-with-an-empty-canvas-and-nothing-changes-when-you-try-to-draw-or-krita-shows-a-black-or-blank-screen-or-krita-crashes-when-creating-a-document-or-krita-s-menubar-is-hidden-on-a-windows-system-with-an-intel-gpu

My stylus has an offset

This happens on Windows. Symptoms will be: the user reports that the stylus cursor has an offset or moves the cursor on another screen. Usually, the user will have a misconfigured multi-monitor system. Mark the bug as NEEDSINFO/WAITINGFORINFO and ask the user:

Ask the user:

Do you have a multi-monitor setup? If so, this is a configuration issue. Please reset your tablet driver's configuration and Krita's configuration (https://docs.krita.org/en/KritaFAQ.html#resetting-krita-configuration). If you have a single-monitor setup, then please calibrate your tablet.

If the user checks back and tells us the problems are solved, mark the bug as RESOLVED/UPSTREAM.

Other tablet issues

Often, the user will tell you that their tablet will work perfectly with another application. This is not relevant.

Tell the user:

Windows tablet drivers often have a special code for different applications. Whether an application works or not depends on whether the programmers have tested their driver with an application or not. Tablet issues are almost always caused by the drivers being broken.

Krita lags

The word "lag" is meaningless. Complaints about "lag" are not bug reports. However, we should help the complainer.

Mark the bug as NEEDSINFO/WAITINGFORINFO and ask the user:

Ask the user:

Have you enabled the stabilizer? Check the tool options panel for the freehand tool. Also check the other possibilities mentioned here: https://docs.krita.org/en/KritaFAQ.html#krita-is-slow

I cannot paint at all, in a particular document

The user probably created, accidentally, a tiny selection, and saved that with the document. Mark as NEEDSINFO/WAITINGFORINFO and ask them:

Ask the user:

Do you have a selection saved with that document? Use select/deselect on your image and check whether you can paint again. If not, please attach the .kra document to this bug report or make it available.

Unittests in Krita

Contingut

Unittests in Krita

What is a unit test is and why is it needed?

Debugging of new code

Changing/refactoring existing code

Automated regression testing

When to write a unit test?

What should unit test include?

How to write a unittest?

Krita-specific testing utils

Fetching reference images

Compare test result against a reference QImage

QImageBasedTest for complex actions

MaskParent object

What is a unit test is and why is it needed?

Wiki:

A unit test is a piece of code that automatically checks if your class or subsystem works correctly. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits 1.

Comment:

In other words unit testing allows the developer to verify if his initial design decisions has been implemented correctly and all the corner-cases are handled correctly.

In Krita Project we use unit tests for several purposes. Not all of them work equally good, but all together they help developing a lot.

Debugging of new code

Wiki:

Unit testing finds problems early in the development cycle. This includes both bugs in the programmer's implementation and flaws or missing parts of the specification for the unit. The process of writing a thorough set of tests forces the author to think through inputs, outputs, and error conditions, and thus more crisply define the unit's desired behavior. The cost of finding a bug before coding begins or when the code is first written is considerably lower than the cost of detecting, identifying, and correcting the bug later; bugs may also cause problems for the end-users of the software 1.

Comment:

Krita is a big project and has numerous subsystems that communicate with each other in complicated ways. It makes debugging and testing new code in the application itself difficult. What is more, just compiling and running the entire application to check a one-line change in a small class is very time-consuming. So when writing a new subsystem we usually split it into smaller parts (classes) and test each of them individually. Testing a single class in isolation helps to catch all the corner-cases in the class public interface, e.g. "what happens if we pass 0 here instead of a valid pointer?" or "what if the index we just gave to this method is invalid?"

Changing/refactoring existing code

Wiki:

Unit testing allows the programmer to refactor code or upgrade system libraries at a later date, and make sure the module still works correctly (e.g., in regression testing). The procedure is to write test cases for all functions and methods so that whenever a change causes a fault, it can be quickly identified. Unit tests detect changes which may break a design contract 1.

Comment:

Imagine someone decides to refactor the code you wrote a year ago. How would he know whether his changes didn't break anything in the internal class structure? Even if he/she asks you, how would you know if the changes to a year-old class, whose details are already forgotten, are valid?

Automated regression testing

Ideally, unit tests should also facilitate automated regression catching (ask Jenkins [https://build.kde.org/job/calligra%20calligra-2.9%20stable-qt4/]). But at the moment some of Krita unit tests are not stable enough to do the trick. They do straightforward QImage comparisons, so the test results can depend no only on version of the libraries installed, but also on build options and even type of CPU the tests are run on. In the future we plan to split such "unstable" unit test into a separate group and don't run them on Jenkins.

When to write a unit test?

Ideally a unit test should be written for any new class that implements some logic and provides any kind of public interface. It is especially true if this public interface is going to be used more that one client-class.

What should unit test include?

corner cases. E.g. what happens if we request merging of two layers, one of which has Inherit Alpha option enabled? What properties and composition mode the final layer should have? Answers to these questions should be given and tested in the unit test.

non-obvious design decisions. E.g. if a paint device has a non-transparent default pixel, then its `exactBounds()` returns the rect, not smaller that the size of the image, even though technically the device might be empty.

How to write a unittest?

Suppose you want to write a unittest for kritaimage library. You need to perform just a few steps:

Add files for the test class into ./image/tests/ directory:

kis_some_class_test.h

#ifndef __KIS_SOME_CLASS_TEST_H
#define __KIS_SOME_CLASS_TEST_H

#include <QtTest/QtTest>

class KisSomeClassTest : public QObject
{
    Q_OBJECT
private Q_SLOTS:
    void test();
};

#endif /* __KIS_SOME_CLASS_TEST_H */</syntaxhighlight>

kis_some_class_test.cpp

#include "kis_some_class_test.h"

#include <QTest>

void KisSomeClassTest::test()
{
}

QTEST_MAIN(KisSomeClassTest, GUI)</syntaxhighlight>

Modify ./image/tests/CMakeLists.txt to include your new test class:

...
########### next target ###############
set(kis_some_class_test_SRCS kis_some_class_test.cpp )
kde4_add_unit_test(KisSomeClassTest TESTNAME kritaimage-some_class_test ${kis_some_class_test_SRCS})
target_link_libraries(KisSomeClassTest  ${KDE4_KDEUI_LIBS} kritaimage ${QT_QTTEST_LIBRARY})
...

Write your test. You can use any macro commands provided by Qt (QVERIFY, QCOMPARE or QBENCHMARK).

void KisSomeClassTest::test()
{
    QString cat("cat");
    QString dog("dog");

    QVERIFY(cat != dog);
    QCOMPARE(cat, "cat");
}

Run your test by running an executable in ./image/test/ folder

Krita-specific testing utils

Fetching reference images

All the testing files/images are usually stored in the test's data folder (e.g. ./krita/image/tests/data/). But there are some files which are used throughout all the unit tests. These files are stored in the global folder ./krita/sdk/tests/data/. If you want to access any file, just use TestUtil::fetchDataFileLazy. It first searches the file in the local test's folder and if nothing is found checks the global folder.

Example:

QImage refImage(TestUtil::fetchDataFileLazy("lena.png"));
QVERIFY(!refImage.isNull());

Compare test result against a reference QImage

There are two helper functions to compare a given QImage against an image saved in the data folder.

bool TestUtil::checkQImage(const QImage &image, const QString &testName,
                           const QString &prefix, const QString &name,
                           int fuzzy = 0, int fuzzyAlpha = -1, int maxNumFailingPixels = 0);
bool TestUtil::checkQImageExternal(const QImage &image, const QString &testName,
                                   const QString &prefix, const QString &name,
                                   int fuzzy = 0, int fuzzyAlpha = -1, int maxNumFailingPixels = 0);

The functions search for a png file with path

./tests/data/<testName>/<prefix>/<prefix>_<name>.png
# or without a subfolder
./tests/data/<testName>/<prefix>_<name>.png

The supplied QImage is compared against the saved PNG, and the result is returned to the caller. If the images do not coincide, two images are dumped into the current directory: one with actual result and another with what is expected.

The second version of the function is different. It searches the image in "an external repository". The point is that PNG images occupy quite a lot of space and bloat the repository size. So we decided to put all the images that are big enough (>10KiB) into an external SVN repository. To configure an external test files repository on your computer, please do the following:

Checkout the data repository:

# create the tests data folder and enter it
mkdir ~/testsdata
cd ~/testsdata

# checkout the extra repository
svn checkout svn+ssh://svn@svn.kde.org/home/kde/trunk/tests/kritatests

Add environment variable pointing to your repository to your ~/.bashrc

export KRITA_UNITTESTS_DATA_DIR= ~/testsdata/kritatests/unittests

Use TestUtil::checkQImageExternal in your unittest and it will fetch data from the external source. If an external repository is not found then the test is considered "passed".

QImageBasedTest for complex actions

Sometimes you need to test some complex actions like cropping or transforming the whole image. The main problem of such action is that it should work correctly with any kind of layer or mask, e.g. KisCloneLayer, KisGroupLayer or even KisSelectionMask. To facilitate such complex testing conditions, Krita provides a special class QImageBasedTest. It helps you to create a really complex image and check the contents of its layers. You can find the best example of its usage in KisProcessingsTest. Basically, to use this class, one should derive it's own testing class from it, and call a set of callbacks, which do all the work. Let's consider the code from KisProcessingsTest:

// override QImageBasedTest class
class BaseProcessingTest : public TestUtil::QImageBasedTest
{
public:
    BaseProcessingTest()
        : QImageBasedTest("processings")
    {
    }

    // The method is called by test cases. If the test fails, a set of PNG images
    // is saved into working directory
    void test(const QString &testname, KisProcessingVisitorSP visitor) {

        // create an image and regenerate its projection
        KisSurrogateUndoStore *undoStore = new KisSurrogateUndoStore();
        KisImageSP image = createImage(undoStore);
        image->initialRefreshGraph();

        // check if the image is correct before testing anything
        QVERIFY(checkLayersInitial(image));

        // do the action we are trying to test
        KisProcessingApplicator applicator(image, image->root(),
                                        KisProcessingApplicator::RECURSIVE);

        applicator.applyVisitor(visitor);
        applicator.end();
        image->waitForDone();

        // check the result, and dump images if something went wrong
        QVERIFY(checkLayers(image, testname));

        // Check if undo(!) works correctly
        undoStore->undo();
        image->waitForDone();

        if (!checkLayersInitial(image)) {
            qWarning() << "NOTE: undo is not completely identical "
                    << "to the original image. Falling back to "
                    <<"projection comparison";
            QVERIFY(checkLayersInitialRootOnly(image));
        }
    }
};

MaskParent object

TestUtil::MaskParent is a simple class that, in its constructor, creates an RGB8 image with a single paint layer, which you can use for further testing. The image and the layer can be accessed as simple member variables.

Example:

void KisMaskTest::testCreation()
{
    // create an image and a simple layer
    TestUtil::MaskParent p;

    // create a mask and attach its selection to the created layer
    TestMaskSP mask = new TestMask;
    mask->initSelection(p.layer);

    QCOMPARE(mask->extent(), QRect(0,0,512,512));
    QCOMPARE(mask->exactBounds(), QRect(0,0,512,512));
}

1(1,2,3)

https://en.wikipedia.org/wiki/Unit_testing

Recursos

Paquets de pinzells

[https://github.com/Deevad/deevad-krita-brushpresets] David Revoy | [https://drive.google.com/open?id=1hrH4xzMRwzV0SBEt2K8faqZ_YUX-AdyJ] Ramon Miranda | [https://forum.kde.org/viewtopic.php?f=274&t=127423] Paquet amb art conceptual i il·lustració
[http://al-dy.deviantart.com/art/Aldys-Brush-Pack-for-Krita-196128561] Al-dy | [https://vascobasque.com/modular-brushset/] Vasco Basqué | [http://meemodraws.deviantart.com/art/Krita-Brush-Pack-311306611] Meemodraws
[http://stalcry.deviantart.com/art/Krita-Custom-Brushes-350338351] Stalcry | [https://forum.kde.org/viewtopic.php?f=274&t=125125] Wolthera | [http://nylnook.com/en/blog/krita-brushes-pack-v2/] Nylnook
[http://hushcoil.tumblr.com/kritabrushes/] Hushcoil | [https://github.com/raghukamath/krita-brush-presets] Raghukamath | [https://github.com/GDquest/free-krita-brushes/releases/] GDQuest
[https://www.deviantart.com/iforce73/art/Environments-2-0-759523252] |  |

Paquets de textures

[https://www.davidrevoy.com/article156/texture-pack-1] David Revoy | [https://www.davidrevoy.com/article263/five-traditional-textures] David Revoy

Guies d'aprenentatge externes

[https://www.udemy.com/learn-to-create-pixel-art-from-zero/?couponCode=OTHER_75]

Simón Sánchez «Aprèn a crear píxel art des de zero» curs sobre Udemy

Connectors en Python fets pels usuaris

Per instal·lar i gestionar els vostres connectors, visiteu l'àrea Com crear un connector en Python per al Krita. Vegeu la segona àrea sobre com aconseguir que el Krita reconegui el vostre connector.

Connector esborrador directe

http://www.mediafire.com/file/sotzc2keogz0bor/Krita+Direct+Eraser+Plugin.zip

Acoblador controls de la tauleta

https://github.com/tokyogeometry/tabui

Dreceres del llenç a la pantalla

https://github.com/qeshi/henriks-onscreen-krita-shortcut-buttons/tree/master/henriks_krita_buttons

Exporta al format de fitxer Spine

https://github.com/chartinger/krita-unofficial-spine-export

GDQuest -eines de disseny-

https://github.com/GDquest/Krita-designer-tools

AnimLayers (animar amb capes)

https://github.com/thomaslynge/krita-plugins

Control de revisions a l'art (emprant GIT)

https://github.com/abeimler/krita-plugin-durra

Generador de connectors del Krita

https://github.com/cg-cnu/vscode-krita-plugin-generator

Acció del Bash (funciona amb OSX i Linux)

https://github.com/juancarlospaco/krita-plugin-bashactions#krita-plugin-bashactions

Acoblador imatge de referència (estil antic)

https://github.com/antoine-roux/krita-plugin-reference

Publicar imatges a Mastadon

https://github.com/spaceottercode/kritatoot

Compleció automàtica del Python per als editors de text

https://github.com/scottpetrovic/krita-python-auto-complete

Vegeu quelcom que ens manqui?

Teniu un recurs que heu creat i voleu compartir-lo amb altres artistes? Feu-nos-ho saber al fòrum o visiteu la nostra sala de xat per a debatre com afegir-lo aquí.

Índex

Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Z

Symbols

*.bmp

*.csv

*.exr

*.gbr

*.gif

*.gih

*.jpg

*.kpl

*.kra

*.ora

*.pbm

*.pdf

*.pgm

*.png

*.ppm

*.psd

*.svg

*.tif

*.tiff

--canvasonly

opció de línia de comandes krita

--dpi <dpiX,dpiY>

opció de línia de comandes krita

--export

opció de línia de comandes krita

--exportfilename

opció de línia de comandes krita

--fullscreen

opció de línia de comandes krita

--nosplash

opció de línia de comandes krita

--template templatename.desktop

opció de línia de comandes krita

--workspace Workspace

opció de línia de comandes krita

A

About

Addition(Blending Mode)

Additive Subtractive

Advanced Color Selector

Airbrush, [1]

Al.Chemy

Allanon

Alpha Darken

Alpha Inheritance, [1], [2]

Alpha Lock

Angle

Animation, [1], [2], [3], [4], [5], [6], [7]

Animation Curves

Animation Playback

Arcus Tangent

Artistic Color Selector

ASC CDL

ASL

Audio

Author Profile

Automatic Healing

Autosave

Axonometric

B

Backtrace

Basic Concepts

Basic Smooth

Behind

Bezier Curve, [1]

Bit Depth

Bitmap

Bitmap Fileformat

Black and White

Blending Mode

Blending Modes!

Blur

BMP

Border Selection

Brightness, [1], [2]

Bristle Brush Engine

Brush

Brush Engine, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14]

Brush Mask, [1]

Brush Preset, [1]

Brush Settings, [1]

Brush Tip

Brush tip

Brushes, [1]

Bucket

Bug

Bumpmap

(Blending Mode)

Bundles

Burn

burn

C

Calibration

Calligraphy

Canvas Border

Canvas Graphics Acceleration

Canvas Input Settings

Canvas Only Mode

Canvas Projection Color

Chroma

Circle, [1]

Clear

Clipping Masks, [1]

Clone Brush Engine

Clone Layer

Clone Tool

Close, [1]

Close All

Color, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]

Color Adjustment Curves

Color Balance

Color Bit Depth

Color Burn

Color Channels, [1]

Color Dodge

Color Management, [1]

Color Mixing, [1], [2]

Color Models

Color Selector, [1], [2], [3], [4], [5], [6], [7]

Color Sliders

Color Smudge Brush Engine

Color Space

Color Spaces

Color to Alpha

Colorize Mask

Colors

Combine Normal Map

Comma Separated Values

Command Line

communication

community

Compass

Compositions

compression

Contiguous Selection

Contrast

Convert

Convert Color Space

Convert raster selection to vector selection.

Convert Shapes to Vector Selection

Convert to shape

Copy, [1]

(Blending Mode)

(Sharp)

Copy Blue

Copy Green

Copy Layer

Copy Merged

Copy Red

Create Copy From Current Image

Create Template from image

Crop

Cross Channel Color Adjustment

CSV

Cursor

Curve Brush Engine

Curves Filter

Cut, [1]

(Sharp)

Cut Layer

D

Darken

Darker Color

Debug, [1]

Deep Color

Deform

Deform Brush Engine

Desaturation

Deselect

Difference

Digital Color Mixer

Dimetric

Display

Display Selection

Dissolve

Dithering

Dockers

Document

Document Information

Dodge, [1]

Driving Adjustment by channel

Dual Brush

Dyna

E

Edge Detection

Edit

Ellipse, [1]

Elliptical Select

Emboss

EOTF

Equivalence

Erase (Blending Mode)

Exclusion

Experiment Brush Engine

Export, [1], [2]

EXR

External File

Eyedropper

F

FAQ

Feather Selection

File Dialog

File Layers

Fill, [1]

Fill with Background Color

Fill with Foreground Color

Fill with pattern

Filter Brush Engine

Filters, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]

Finger

Flat Color

Flatten

Floating Point Color

Flow

FPS

Frame

Framerate

Freehand, [1], [2]

Freehand Brush

Frequently Asked Questions

G

G'Mic

Gamma

Gamma Dark

Gamma Light

Gaussian Blur

GBR

Generator

Geometric Mean

Getting started

GIF

GIH

Gimp Brush

Gimp Image Hose

Glossing

Gradient, [1], [2]

Gradient Map

Gradients

Grain Extract

Grain Merge

Gray

Greater (Blending Mode)

Grid, [1], [2], [3], [4]

Grid Brush Engine

Groups

Grow Selection

Guides, [1], [2]

H

Hairy Brush Engine

Halftone, [1], [2]

Handbook

Hard Light

Hard Mix

Hard OVerlay

Harmony Brush Engine

Hatching, [1]

Hatching Brush Engine

HD Index Painting

HDR

HDR Fileformat

Height Map, [1]

High Dynamic Range

Histogram, [1]

History

Hue, [1], [2]

I

ICC Profiles

Image, [1]

Image Hose

Import, [1]

Import Animation Frames

Indexed Color

Installation

Instant Preview

Intensity, [1]

Interpolation

Invert

Invert Selection

Isometric

Isometric Grid

J

jpeg | jpg

K

Kinetic Scrolling KPL | KRA Krita Archive Krita Palette

L

Label

Lag, [1]

Language

Layer Effects

Layer FX

Layer Style, [1]

Layer Styles

Layers, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15]

Lazybrush

Levels Filter

Lightness, [1], [2]

Line

Linear

Linear Burn

Linear Color Space

Linked Clone

Liquify

Load

Locked Brush Settings

Look and Feel

Look Up Table

lossless

lossy

Luma, [1]

Luminosity, [1]

LUT Management

M

Macro

Magic Wand

Mandala

Masked Brush

Masks, [1], [2], [3], [4], [5], [6]

Maths

Maximum Brush Size

Measure

Memory Usage

Metadata, [1], [2], [3]

Metamerism

Mirror, [1], [2]

Move

Multibrush

Multithreading

N

Navigation, [1]

Negative, [1]

New, [1]

New File

No Smoothing

Normal (Blending Mode)

Normal Map, [1], [2], [3]

Normalize

O

OCIO, [1]

Offset

Onion Skin, [1]

Opacity

opció de línia de comandes krita

--canvasonly

--dpi <dpiX,dpiY>

--export

--exportfilename

--fullscreen

--nosplash

--template templatename.desktop

--workspace Workspace

Open, [1]

Open Existing Document As New document

Open Raster Archive

Open Recent

OpenEXR

OpenGL

Optimising Images

ORA

Orthogonal Grid

Orthographic

Outline Select

Overlay (Blending Mode)

Overview

P

Paint Layer

Painting Assistants, [1], [2]

Paintop Preset

Paintop Presets

Painttool Sai

Palettes

Pan, [1]

Parallel

Particle Brush Engine

Passthrough Mode, [1]

Paste, [1]

Paste at Cursor

Paste into new image

Paste Layer

Path, [1], [2]

Pattern

Patterns, [1], [2]

PBM

PDF

Pen, [1]

Performance, [1]

Perspective, [1], [2], [3]

Perspective Projection

PGM

Photoshop

Photoshop Document

Pixel Brush Engine

Play/Pauze

Plugin, [1]

png

Polygon, [1]

Polygonal Selection

Polyline

Pop up palette

Pop-up Palette, [1]

portable network graphics

PPM

Preferences, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]

Presets

Pressure Curve

Prewitt

Profiling

Projection, [1], [2], [3]

PSD

Python, [1], [2]

Python Scripting, [1], [2]

Q

Quick Brush Engine | Quit

R

Ractangle

RAM

Random Noise

Raster, [1]

Ratio

Real Color

Rectangle

Rectangular Selection

Redo, [1], [2]

Reference, [1]

Render Animation, [1]

Reselect

Resize

Resources, [1], [2], [3], [4], [5], [6]

Reusable Vector Shapes

RGB Curves

Rotate

Rotational Symmetry

S

Sai

Saturation, [1], [2], [3]

Save, [1], [2]

Save As

Save incremental Backup

Save incremental version

Scalable Vector Graphics Format

Scale, [1]

Scene Linear

Scene Linear Painting

Scene Referred

Scripting, [1]

Scripts, [1]

Scumbling

Select All

Select from Color Range

Select Opaque

Selection, [1], [2], [3], [4], [5], [6], [7], [8], [9]

Selections

Sessions, [1]

Settings, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11]

Shape Brush Engine

Shape Edit

Shape Selection

Sharpen

Shortcuts

Show Global Selection Mask

Shrink Selection

Similar Selection

Sketch Brush Engine

Slope Offset Power Curves

Small Color Selector

Small Tiles

Smart Patch

Smooth

Smudge, [1]

Snap, [1]

Sobel

Softproofing, [1]

Sound

Source Over

Spacing

Specific Color Selector

Speed

Split Channels

Spray Brush Engine

Stabilizer

Stacked Brush

Straight Line

Stroke

Stroke Selected Shapes

Stroke Selection

Subwindow Documents

Sumi-e

SVG

SVG Symbols

Symmetry, [1]

T

Tabbed Documents

Tablet, [1]

Tablet UI

Tablets, [1], [2]

Tagged Image File Format

Tags

Tangent Normal Brush Engine

Technical Drawing

Template, [1], [2]

Text

Texture

Theme

Themes

Threshold

TIF

TIFF

Tiles

Timeline, [1]

Tone Response curve

Toolbar

Tools, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34], [35], [36], [37]

Touch

Transfer Curve

Transform, [1], [2], [3], [4], [5]

Transparency, [1]

Transparency Checkers

Trim, [1]

Tweening

U

Undo, [1], [2]

V

Value, [1], [2] Variable Width Stroke Vector, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11] | Vector Library View, [1], [2] Viewing Conditions

W

Wavelet Decompose

Weighted Smoothing

Window, [1]

Window Layouts

Workspace

Workspaces

Wrap around mode

Z

Zoom, [1]

Krita Brush-tips is an archive of brush-modification tutorials done by the krita-foundation.tumblr.com account based on user requests.

Topics:

Brush-tips:Animated Brushes

Brush Tips: Bokeh

Brush Tips: Caustics

Brush-tips:Fur

Brush-tips:Hair

Brush-tips:Outline

Brush-tips:Rainbow Brush

Brush-tips:Sculpt-paint-brush