Krita

Digital painting and 2D animation software

Krita
Developer(s)Krita Foundation, KDE
Initial release21 June 2005; 19 years ago (2005-06-21)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC++, Qt
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemWindows, macOS, Linux,[1] Android, ChromeOS,[2][3] Haiku
    PlatformIA-32 and x64
    Size111–201 MiB (varies by operating system)
    TypeRaster graphics editor
    LicenceGPL-3.0-only[4]
    Websitekrita.org

    Krita (/ˈkrtə/ KREE-tə)[5] is a free and open-source raster graphics editor designed primarily for digital art and 2D animation. Originally created for Linux, the software also runs on Windows, macOS, Haiku, Android, and ChromeOS, and features an OpenGL-accelerated canvas, colour management support, an advanced brush engine, non-destructive layers and masks, group-based layer management, vector artwork support, and switchable customisation profiles.

    The software is also available as paid software, distributed on Microsoft Store, Steam, Epic Games Store, and Mac App Store. The paid version has automatic update and used to support the development of the software.

    Name

    The project's name "Krita" is primarily inspired by the Swedish words krita, meaning "crayon" (or chalk), and rita which means "to draw" as well as Sanskrit कृत (kṛta) which means "made"/"done".

    History

    Free web comic Pepper&Carrot artwork by David Revoy (left) is drawn in Krita. In 2022, Revoy made an interpretation of Krita's mascot, Kiki (right).

    Early development of the project can be tracked back to 1998 when Matthias Ettrich, founder of KDE, showcased a Qt GUI hack for GIMP at Linux Kongress. The idea of building a Qt-based image editor was later passed to KImage, maintained by Michael Koch, as a part of KOffice suite. In 1999, Matthias Elter proposed the idea of building the software using CORBA around ImageMagick. To avoid existing trademarks on the market, the project underwent numerous name changes: KImageShop, Krayon, until it was finally settled with "Krita" in 2002. The first public version of Krita was released with KOffice 1.4 in 2004.[6] In years between 2004 and 2009, Krita was developed as a generic image manipulation software like Photoshop and GIMP.[7]

    A change of direction happened to the project in 2009, with a new goal of becoming digital painting software like Corel Painter and SAI. Also from that point, the project began to experiment with various ways of funding its development, including Google Summer of Code and funded jobs for students. As a result, the development gained speed and resulted in better performance and stability.[8]

    The Krita Foundation was created in 2013 to provide support for Krita's development. It collaborated with Intel to create Krita Sketch as a marketing campaign and Krita Studio with KO GmbH as a commercially supported version for movie and VFX studios. Kickstarter campaigns have been used to crowdfund Krita's development since 2014.[citation needed]

    Time Version Raised Kickstarter Campaign Stable release
    July 2014 2.9.x €19,955 Faster Development, better PSD support, layers, masks, brush, resource manager, display, etc. February 2015
    May 2015 3.0.x €30,520 Better performance, animation support, layer, workflow, transform, filter, brush, etc. May 2016
    May 2016 4.0.x €38,579 Better text tools and vector art capability, python scripting support, etc. March 2018[9]
    5.0.X Brushes, Gradients and Pallets get revamped, animation system improvements, screen recorder.[10] December 2021

    On May 23, 2020, the beta version of Krita was released for Android and ChromeOS.[11][12][13]

    Design and features

    The current version of Krita is developed with Qt 5 and KDE Frameworks 5. It is designed primarily for concept artists, illustrators, matte and texture artists, and the VFX industry. It has the following key features:[14]

    User experience design

    File:Krita 5.0 right-click hud popup-palette.png
    Krita's right-click HUD, the Popup-palette

    Krita's UX was designed with graphics tablet users in mind. It uses a combination of pen buttons, keyboard modifiers and an icon-based HUD to ensure frequently-used functions can be accessed by fewer clicks, without the need to search through text-based menus.

    Most-used drawing commands can be accessed via touch by combining keyboard modifiers with pen/mouse buttons and gestures:

    Command Input
    Brush size +/- Shift + Pen drag
    Pick colour Ctrl + Pen tap
    Pan Pen button + Pen move
    Zoom Ctrl + Pen button + Pen move
    Rotate Shift + Pen button + Pen move

    Pop-up Palette is Krita's right click HUD. It enables instant access to the following functions:

    Brush Colour View
    10 loaded brush presets Colour ring selector Zoom
    Load other preset groups FG/BG colour display Rotate
    Brush size, opacity, flow, spacing, angle Recent colour Mirror
    File:Krita 4.0 pixel brush engine screenshot.png
    Controls of one of Krita's many brush engines

    Painting tools

    Krita's core digital painting tools include:

    Brushes Drawing assistants Selection tools Transformation tools
    Graphics tablet support Adjustable interference intensity Rectangle Free position
    9 different brush engines Infinite and parallel straight rulers Ellipse Rotate
    Modelled after real tools Splines (curves) Freehand (lasso) Scale
    Highly adjustable Ellipses Polygon Shear
    Remembers settings for each physical pen Perspective Outline Perspective
    Pen stabilizer Vanishing point Fill Warp
    Multibrush painting support Fish-eye point Color Cage
    File:Krita 4.0 animation interface.png
    Krita's animation workspace (4.0 version)

    Animation tools

    Krita's animation tools are designed for frame-by-frame raster animation. They have the following features:

    Interface Import Export
    Similar interface to Adobe Animate Batch import of frames Render with FFmpeg
    Timeline controls Output to individual frames
    Real-time animation playback controls Output to GIF, AVI, MP4, etc.
    Onion-skin display
    File:Krita vector tool.png
    Krita's vector tools

    Vector tools

    Krita uses vector tools for non-destructive editing of the following objects:

    • Path
    • Selection
    • Text (artistic, multiline, calligraphy)
    • Vector art
    • Fill and gradient
    File:Krita layer and mask control.png
    Krita's layer and mask controls

    Layers and masks

    Krita's layer and mask features include:

    Layer management Mask applies to Non-destructive layers Non-destructive masks
    Multiple-level layer groups Raster layers Clone layers Transparency masks
    Select multiple layers Vector layers Filter layers Filter masks
    Drag-and-drop layers Layer groups Fill layers Colourise masks
    Layer highlighting Non-destructive layers File layers Transform masks

    Customisation

    File:Krita resource manager.png
    Krita's resource manager

    Krita's resource manager allows each brush or texture preset to be tagged by a user and quickly searched, filtered and loaded as a group. A collection of user-made presets can be packaged as "bundles" and loaded as a whole. Krita provides many such brush set and texture bundles on its official website.

    Customisable tool panels are known as Dockers in Krita. Actions include:

    • 2 customisable toolbars
    • Toggle display of each docker
    • Attach any docker to any sides of main window, or detach to float free
    • Buttons to collapse/expand each docker panel
    • Group dockers by tabs

    Customisable Brushes and Brush Engine[15] allows advanced users to create custom scripts on brush behavior, patternlike textures, geometrically shaped brushes and simulated blending through programming, most notably via Python[16] pluggin support however, other programming languages are also supported like Lua.

    Workspaces allow UI customizations for different workflows to be saved and loaded on demand.

    File:Krita's OpenGL canvas drawing quality.png
    Text quality on Krita's OpenGL canvas with non-integer zooming, rotation and mirror

    Display

    OpenGL accelerated canvas is used to speed up Krita's performance. It provides the following benefits:

    • Better framerate and response time: pen actions can be reflected without delay
    • Better-quality, fast and continuous zooming, panning, rotation, wrap-around and mirroring
    • Requires a GPU with OpenGL 3.0 support for optimal experience. In the case of Intel HD Graphics, that means Ivy Bridge and above.
    File:Krita color space loader.png
    Krita's colour space loader

    Full colour management is supported in Krita with the following capabilities:

    • Assign and convert between colour spaces
    • Realtime colour proofing, including colour-blind mode
    • Colour model supported: RGBA, Grey Scale, CMYKA, Law, YCbCr, XYZ
    • Colour depth supported: 8-bit integer, 16-bit integer, 16-bit floating point, 32-bit floating point

    Filters

    File:Krita gmic control.png
    Krita's G'MIC filter controls

    Krita has a collection of built-in filters and supports G'MIC filters. It has real-time filter preview support.

    Filters included in a default installation: levels, colour adjustment curves, brightness/contrast curve, desaturate, invert, auto contrast, HSV adjustment, pixelise, raindrops, oil paint, gaussian blur, motion blur, blur, lens blur, colour to alpha, colour transfer, minimise channel, maximise channel, top/left/bottom/right edge detection, sobel, sharpen, mean removal, unsharp mask, gaussian noise removal, wavelet noise reducer, emboss horizontal only/in all directions/(laplacian)/vertical only/with variable depth/horizontal and vertical, small tiles, round corners, phong bumpmap.

    File formats supported

    Krita's native document format is Krita Document (.kra). It can also save to many other file formats including PSD.

    File formats
    Save to Krita Document, OpenRaster document, PSD image, PPM, PGM, PBM, PNG, GIF, JPEG, JPEG XL, Windows BMP, XBM, XPM, TIFF, EXR, Gimp image, WebP, SCML, ICO, TGA, CSV, QML
    Import only ODG draw, Krita Flipbook, Adobe DNG, Camera RAW, JPEG 2000, PDF, SVG, XML, XCF
    Export only [none]

    Sprint events

    Krita sprints are events during which Krita developers and artists get together for a few days, exchange ideas and do programming face-to-face, in order to speedup development and improve relationships between members.

    Year Date Place
    2005[17] / Deventer, Netherlands
    2010[18] 26 February to 7 March Deventer, Netherlands
    2011[19] 20 to 22 May Amsterdam, Netherlands
    2014[20] 16 to 18 May Deventer, Netherlands
    2016[21] 23 to 24 January Deventer, Netherlands
    2016[22] 26 to 28 August Deventer, Netherlands
    2018[23] 17 to 21 May Deventer, Netherlands
    2019[24] 5 to 9 August Deventer, Netherlands

    Variations

    • Krita Gemini: optimised for tablets and touch interaction.[25]
    • Krita Studio: commercially supported version for movie and VFX studios.[26]

    See also

    Lua error: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    Similar programs

    References

    1. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    2. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    3. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    4. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    5. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    6. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    7. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    8. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    9. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    10. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    11. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    12. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    13. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    14. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    15. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    16. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    17. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    18. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    19. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    20. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    21. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    22. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    23. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    24. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    25. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).
    26. Lua error in Module:Citation/CS1/Configuration at line 2123: attempt to index field '?' (a nil value).

    External links

    • Lua error in Module:Official_website at line 90: attempt to index field 'wikibase' (a nil value).