MyPaint 2.0.2-alpha

MyPaint is a nimble, distraction-free, and easy tool for digital painters. It supports graphics tablets made by Wacom, and many similar devices. Its brush engine is versatile and configurable, and it provides useful, productive tools. The standard brushes can emulate traditional media like charcoal, pencils, ink, or paint. But you don’t have to limit yourself to just the standard ones. It’s easy to make expressive, artful new brushes that don’t respond like anything conventional. Fullscreen mode declutters the interface, leaving you with just your brush and your creativity. You can still reveal the tools you want, when you need them. This distraction-free approach means you can focus better on the art you make, not the tool you make it with. MyPaint has simplicity, yet it gives you all the tools you need to create great artwork. Many notable artists use MyPaint, including digital illustrator and concept artist David Revoy. You’ll find growing MyPaint user communities on DeviantArt and Tumblr. MyPaint comes from the Linux art world, but it has Mac OS X and Windows ports too. Now anyone can pick up MyPaint and draw to their heart’s content

Tags multimedia raster-based
License GNU GPL
State initial

Recent Releases

2.0.2-alpha30 May 2020 07:25 minor feature: HSV/HCY brush dynamics in 2.x mode. Undo/Redo stack size made configurable and more efficient. Undo/Redo stack default size increased to 40. Rounding error when saving files in 2.x mode. Invalid l11n strings. Translated strings added/updated for several languages. Dependency on intltool removed (still required for libmypaint). Variables in l11n strings validated on build (xml tags are not validated yet, however). libmypaint translations are now bound, making them work properly in the appimages. OARS rating added to appdata (relevant for app-distribution software, but not much else). A number of Py3 compatibility were. Svg icons - some were previously considered invalid by librsvg = 2.48. Svg icon sizes reduced across the board. Windows build now uses openmp, which should improve performance on most systems. Size of Windows install bundle significantly reduced. (installed size by 50 , bundle size by 70 for installers). Size of AppImage files reduced by 9MB. AppImages now handle external editing better (no longer overrides the host environment for the launched programs). Typos in documentation (not user-facing typos). Ubuntu 14.04, 16.04, 18.04. Fedora 30. Manjaro 20. CentOS 7. OpenSUSE Leap 15.1. Debian sid (for the day of the release). Slacko Puppy Linux 6.3.2.
2.0.1-rc.017 May 2020 15:05 minor feature: Linear compositing and spectral blending (pigment). Layer views. Brush strokes dependent on view rotation and view zoom. Additional symmetry modes: vertical, vertical+horizontal, rotational, snowflake. Expanded flood fill functionality: offset, feather, gap detection and more. New brush settings: offsets, gridmap, additional smudge settings, posterize, pigment. New brush inputs: barrel rotation, base radius, zoom level, gridmap x/y, direction 360, attack angle. Full Python3 support (Python2 still supported). Tons of style consistency updates (flake8). Switch to PyGI. New ability to simplify nodes in Inking tool. New ability to delete autosaves from recovery dialog. Improved user messages. Scratchpad no longer scrolls on size changes. Integrated reporting w. template. Use external libmypaint ( = 1.5). Most (possibly all) IO uses context managers. Layer manipulability dependent on visibility. Brush description shown in tooltip in quick choice dialog. AppImage builds added. Move build to setuptools/distutils. New keyboard shortcuts/defaults. New symmetry modes (vertical, vert+horz, rotational, snowflake). Flatpak support added (currently not functional?). Maximum input mapping curve points increased to 64. Curve editor points snaps on 0.5 increments. Input curve reset button clears the graph. New Import Layers feature. Zoom and view-rotation-dependent painting. New decommand: Vacuum Empty Tiles. Progress feedback for loading/saving. New Layer Properties dialog. New separate H/C/Y pickers. Per-document settings. New Layer Views. Layer rendering code reworked. New Remove Layer Backdrop command. New Refactor Layer Group commands. Linear compositing. Spectral mixing (pigment mode). Ability to emulate inputs with modifier keys. Support for barrel rotation input. Floodfill performance improved. Offset, feathering and gap detection added to Floodfill. Source, blend mode and opacity added to Floodfill. Erase / Lock Alpha / Colorize modes respected by Floodfill. Floodfill is no
2.0.1-alpha25 Feb 2020 14:45 minor feature: Linear compositing and spectral blending (pigment). Layer views. Brush strokes dependent on view rotation and view zoom. Additional symmetry modes: vertical, vertical+horizontal, rotational, snowflake. Expanded flood fill functionality: offset, feather, gap detection and more. New brush settings: offsets, gridmap, additional smudge settings, posterize, pigment. New brush inputs: barrel rotation, base radius, zoom level, gridmap x/y, direction 360, attack angle. Full Python3 support (Python2 still supported). Tons of style consistency updates (flake8). Switch to PyGI. New ability to simplify nodes in Inking tool. New ability to delete autosaves from recovery dialog. Improved user messages. Scratchpad no longer scrolls on size changes. Integrated reporting w. template. Use external libmypaint ( = 1.5). Most (possibly all) IO uses context managers. Layer manipulability dependent on visibility. Brush description shown in tooltip in quick choice dialog. AppImage builds added. Move build to setuptools/distutils. New keyboard shortcuts/defaults. New symmetry modes (vertical, vert+horz, rotational, snowflake). Flatpak support added (currently not functional?). Maximum input mapping curve points increased to 64. Curve editor points snaps on 0.5 increments. Input curve reset button clears the graph. New Import Layers feature. Zoom and view-rotation-dependent painting. New decommand: Vacuum Empty Tiles. Progress feedback for loading/saving. New Layer Properties dialog. New separate H/C/Y pickers. Per-document settings. New Layer Views. Layer rendering code reworked. New Remove Layer Backdrop command. New Refactor Layer Group commands. Linear compositing. Spectral mixing (pigment mode). Ability to emulate inputs with modifier keys. Support for barrel rotation input. Floodfill performance improved. Offset, feathering and gap detection added to Floodfill. Source, blend mode and opacity added to Floodfill. Erase / Lock Alpha / Colorize modes respected by Floodfill. Floodfill is no
2.1.0-alpha19 Feb 2020 06:45 minor feature: Linear compositing and spectral blending (pigment). Layer views. Brush strokes dependent on view rotation and view zoom. Additional symmetry modes: vertical, vertical+horizontal, rotational, snowflake. Expanded flood fill functionality: offset, feather, gap detection and more. New brush settings: offsets, gridmap, additional smudge settings, posterize, pigment. New brush inputs: barrel rotation, base radius, zoom level, gridmap x/y, direction 360, attack angle. Full Python3 support (Python2 still supported). Tons of style consistency updates (flake8). Switch to PyGI. New ability to simplify nodes in Inking tool. New ability to delete autosaves from recovery dialog. Improved user messages. Scratchpad no longer scrolls on size changes. Integrated reporting w. template. Use external libmypaint ( = 1.5). Most (possibly all) IO uses context managers. Layer manipulability dependent on visibility. Brush description shown in tooltip in quick choice dialog. AppImage builds added. Move build to setuptools/distutils. New keyboard shortcuts/defaults. New symmetry modes (vertical, vert+horz, rotational, snowflake). Flatpak support added (currently not functional?). Maximum input mapping curve points increased to 64. Curve editor points snaps on 0.5 increments. Input curve reset button clears the graph. New Import Layers feature. Zoom and view-rotation-dependent painting. New decommand: Vacuum Empty Tiles. Progress feedback for loading/saving. New Layer Properties dialog. New separate H/C/Y pickers. Per-document settings. New Layer Views. Layer rendering code reworked. New Remove Layer Backdrop command. New Refactor Layer Group commands. Linear compositing. Spectral mixing (pigment mode). Ability to emulate inputs with modifier keys. Support for barrel rotation input. Floodfill performance improved. Offset, feathering and gap detection added to Floodfill. Source, blend mode and opacity added to Floodfill. Erase / Lock Alpha / Colorize modes respected by Floodfill. Floodfill is no
2.0.016 Feb 2020 03:16 minor feature: Linear compositing and spectral blending (pigment). Layer views. Brush strokes dependent on view rotation and view zoom. Additional symmetry modes: vertical, vertical+horizontal, rotational, snowflake. Expanded flood fill functionality: offset, feather, gap detection and more. New brush settings: offsets, gridmap, additional smudge settings, posterize, pigment. New brush inputs: barrel rotation, base radius, zoom level, gridmap x/y, direction 360, attack angle. Full Python3 support (Python2 still supported). Tons of style consistency updates (flake8). Switch to PyGI. New ability to simplify nodes in Inking tool. New ability to delete autosaves from recovery dialog. Improved user messages. Scratchpad no longer scrolls on size changes. Integrated reporting w. template. Use external libmypaint ( = 1.5). Most (possibly all) IO uses context managers. Layer manipulability dependent on visibility. Brush description shown in tooltip in quick choice dialog. AppImage builds added. Move build to setuptools/distutils. New keyboard shortcuts/defaults. New symmetry modes (vertical, vert+horz, rotational, snowflake). Flatpak support added (currently not functional?). Maximum input mapping curve points increased to 64. Curve editor points snaps on 0.5 increments. Input curve reset button clears the graph. New Import Layers feature. Zoom and view-rotation-dependent painting. New decommand: Vacuum Empty Tiles. Progress feedback for loading/saving. New Layer Properties dialog. New separate H/C/Y pickers. Per-document settings. New Layer Views. Layer rendering code reworked. New Remove Layer Backdrop command. New Refactor Layer Group commands. Linear compositing. Spectral mixing (pigment mode). Ability to emulate inputs with modifier keys. Support for barrel rotation input. Floodfill performance improved. Offset, feathering and gap detection added to Floodfill. Source, blend mode and opacity added to Floodfill. Erase / Lock Alpha / Colorize modes respected by Floodfill. Floodfill is no
2.0.0-beta.021 Dec 2019 11:45 minor feature: PY3: address time.clock removal in Python 3.8 . Translated using Weblate (Russian). . Translated using Weblate (French). . Translated using Weblate (Russian). . Translated using Weblate (French). . Translated using Weblate (Norwegian Bokmål). . Translated using Weblate (Russian). . Translated using Weblate (Swedish). . Translated using Weblate (Russian). . Clean up some of the surface-related C++ code. . Handle multiple invalidation rectangles. . Docs: bump minimum swig version. . brusheditor: don't use +/- MAX_FLT in input limits. . ora: always use src-over for the background layer. . tree: pass render cache size in parameters. . doc: add mypaint:version attr to.ora stack.xml. . ora: stop writing legacy attribute for tiling bg. . i18n: Update Italian translation. . Replace "borrowed" string, add translator comments. . i18n: Update translation files. . Improve performance of get_tiles_bbox, add tests. . Translated using Weblate (Italian). . Clear document and filename if open_file fails. . Merge branch 'origin/master' into Weblate. . Translated using Weblate (Russian). . Translated using Weblate (Marathi). . Translated using Weblate (Italian). . Translated using Weblate (Kabyle). . Translated using Weblate (Catalan). . Remove 'alpha' attribute from span tag skip ci . . Add Download section to README. . Categorize new brush settings in settings editor. . Removing drone.yml. . Provide angle parameter to set_symmetry_state call. . setup.py: Wrap locale symlinking in try-except. . Switch from py2 to py3 in windows build. . win32: reduce number of frames saved in crop test. . Make it possible to switch eotf at runtime. . Use old tile conversion when eotf == 1.0. . Add adjustable defaults for unset brush settings. . Make default layer configurable. . Add 1.x backwards compatibility. . meta: Add version compatibility checks. . Add file compat check, warning dialog, cancellation. . Store eotf-transformed brush color only in Brus
2.0.0-alpha.1310 Nov 2019 11:45 minor feature: Translated using Weblate (Kashubian) . Translated using Weblate (Kazakh). . Translated using Weblate (Maithili). . Translated using Weblate (Malay). . Translated using Weblate (Marathi). . Translated using Weblate (Mongolian). . Translated using Weblate (Northern Sami). . Translated using Weblate (Norwegian Bokmål). . Translated using Weblate (Norwegian Nynorsk). . Translated using Weblate (Occitan). . Translated using Weblate (Romanian). . Translated using Weblate (Serbian (cyrillic)). . Translated using Weblate (Tajik). . Translated using Weblate (Telugu). . Translated using Weblate (Ukrainian). . Translated using Weblate (Ukrainian). . Translated using Weblate (Uzbek). . Translated using Weblate (Walloon). . Translated using Weblate (Serbian (latin)). . Translated using Weblate (Catalan). . Translated using Weblate (Danish). . Translated using Weblate (Norwegian Bokmål). . Translated using Weblate (Spanish). . Translated using Weblate (Turkish). . Translated using Weblate (Turkish). . layer merge, configurable legacy/custom OETF. . add OETF parameter to additional tile_convert. . rename OETF to EOTF. . Translated using Weblate (Portuguese). . Translated using Weblate (Portuguese (Brazil)). . paint/pigment modifier for get_color. . Revert "win32: drop support for floating subwindows". . Translated using Weblate (Latvian). . correct a merge-layer and low-alpha noise. . update tests for eraser in libmypaint. . Translated using Weblate (Turkish). . Translated using Weblate (Portuguese). . Translated using Weblate (German). . Translated using Weblate (Turkish). . Translated using Weblate (Turkish). . Translated using Weblate (Norwegian Bokmål). . Translated using Weblate (Portuguese). . Translated using Weblate (Portuguese (Brazil)). . Translated using Weblate (Spanish). . Translated using Weblate (Turkish). . Translated using Weblate (Norwegian Bokmål). . Translated using Weblate (German). . Translated using Weblate
1.2.2-beta.029 Sep 2019 11:25 minor feature: Use os.makedirs to create intermediate directories . Update mypaint.appdata.xml. . start failure if translations aren't installed. . brushkeys: avoid duplicate colours in history. . Default mode: no canned arguments. . BrushworkMode: always start 1st segment abruptly. . Mark 1.2.1 development phase. . versions: don't require matching tag during -alpha. . lib.i18n: OSX: fall back if no AppKit, update docs. . Rect: cut and paste error in utility ctor. . Clipboard: paste image workaround. . clipboard: make synchronous, improve messages. . Catch+log exceptions when pasting. . gui.freehand: typo which may have caused bad tilts. . update document.py for layer solo. . Changelog: update for 1.2.1. . Crash dialog: report versions of important libs. . About dialog: report libs bitness on Windows. . Cherry-pick README_OSX from master. . Cherry-pick for GLib 2.48 from master. . Update changelog for 1.2.1. . windows build: update for Licenses. changes. . About box: report GLib version too, on Windows. . Begin 1.2.1 beta test cycle. . About box: do not escape license summary. . history widgets: defensive coding. . README: use Debian's "new" libpng-dev name. . Select cloned layer after DuplicateLayer. . backgroundwindow: properly manage response pixbuf. . adjbases: make adjusters begin drags explicitly. . Update changelog for 1.2.1. . lib.meta: new beta release v1.2.1-beta.1. . Revert " make adjusters begin drags explicitly". . workspace: tab pages: eat drag-starting events. . accelmap: sort by special sort columns. . Handle exceptions when loading cached thumbnails. . GTK removing the main canvas widget. . Per-device settings: check return values. . BrushManager: Use UUID5 for device brush names. . BrushManager: Make brush_by_device private. . pixbuflist: add style context save/restore. . Mark floating tool windows as deletable. . flake8: up import/code relative order. . win32: drop support for floating subwindows. . Rewrite brush di
1.2.125 Sep 2019 16:32 minor feature: https://github.com/mypaint/mypaint/releases/tag/v1.2.1