MyPaint/Features

Background Layer
I believe the utility of the background layer would be improved by the ability to load images in well known formats (.jpg, .png, .bmp?) as backgrounds.

Possible Uses:
 * Using a fractal, gradient or other computer generated backdrop as your background
 * Importing a scanned or photographed physical painting for background
 * Using a sketch created in GIMP or scanned from paper as the basis of your painting
 * Perspective grids or other sized/calibrated grids for rigidly laid out compositions, like cityscapes.

Scope-limiting considerations Songwind apogee 16:05, 27 June 2009 (UTC)
 * No scaling/tiling. Trust the user to use GIMP or other means to get the background the size they want.
 * Possibly a toggle. I can imagine a use for customized repeating patterns
 * Set canvas size at image size if not repeating (Dependent on implementation of non-infinite canvas)
 * I am assuming Python has a well-developed suite of image-loading classes. If not, limit to a single well known format for ease of coding, at least in v1 of the feature.

Perspective tools


One of the main useful things for planning and creating an image from scratch is to prepare the perspective. Making a perspective grid is all in all a rather mechanical and dull process, especially once you start making more advanced grids, such as two-point perspective etc. There are a few points that would be useful in helping to make this initial step easier in myPaint, ordered from less to more complex:
 * Ability to draw straight lines. GIMP's click + shift+drag would be enough for this. Maybe using the Ctrl key as a qualifier to turn off all pressure sensitivity in the stroke as well (most of the time when I want to make straight lines I want them to be evenly thick, so maybe have this as a default?).


 * Straight lines should simply never use pressure sensitivity because you can't control it reasonably well. What I'm more worried is about the unusual speed input that the brush will see, but then again, the users simply could choose a brush that is not speed dependent. Matumio 15:34, 21 June 2009 (UTC)

Griatch 14:26, 21 June 2009 (UTC)
 * Selectable non-destructive background layer with a pre-set range of alpha-channel perspecive images (Example). This would force them to be used for specific resolutions though (unless they where scalable vector images...)
 * A dynamic changeable perspective grid. In such a tool you would place one or more vanishing points, be able to drag them around in order to set up your grid.

Selection/Masking
I have no idea how difficult this would be to implement. However, it is a pretty important part of brush-based arts. In particular, I think this is needed to get the most out of the new Airbrush tools. Songwind apogee 16:05, 27 June 2009 (UTC)
 * Ability to select an area for painting, like surrounding it with a paper or tape mask IRL
 * Ability to invert the selection so that the selected area is the only place one can not paint.
 * An advanced form of this would involve saving/loading stencils.

Zoom Enhancements
These suggestions seemed pretty simple, so I did not think a screen mockup would be helpful

Songwind apogee 02:20, 21 June 2009 (UTC)
 * Zoom to extents/fit in window: It would be nice to have a single menu item and/or hotkey that would show you the entire currently used canvas in one press.
 * Zoom area: Standard zoom tool, where you select a rectangle and it zooms in to that area
 * These two together are very useful for fixing detail work.

Misc
A "cropping frame" would be useful when saving/loading images. With the infinite canvas, this would crop the area outside the frame when you save to "flat" fileformats (PNG, JPEG, etc). Saving to PSD should keep all image data outside the frame, but set the canvas-size apropriately. When loading these fileformats, the frame would be set to the visible area of the file. (PSD:s would have layers sticking outside of the frame, while "flat" fileformats would only have image data inside the frame.) The frame could be visualized as a "walking ants" line or a semi-transparent black mask outside of the frame. It should be possible to toggle the viewing of it, and to resize/ move the frame freely.


 * This is a known missing feature, see also this bugreport

---
 * A layers window for viewing and managing your layers. (By Clement Skau)
 * Changing the windows from regular windows into pop-up windows when in full screen. (This will prevent the taskbar from forcing itself on top of the canvas. (By Clement Skau))
 * View the size of the brush when the size is changed (Key d an f).
 * Use Space for translate picture.


 * Already done in SVN, not yet in a release though.


 * Save the workspace (place of windows, size, organisation...).


 * Actually, it does this already...

Ok, place of windows is ok, but not the size (on windows XP)

(Comment by Matumio)
 * A Full Screen feature under View menu.
 * And hiding the menubar also. Just infinite canvas on desktop!

(Comment by Matumio)''
 * ''Version 0.5.1 already has that.


 * A MacOSX version

(Comment by SeanJM)''
 * ''you could compile it


 * Interactive drag-based zoom and rotate. Right now zooming and rotating the image view is done via hotkeys.  It would be awesome to do it with modifier+middle-button click-and-drag.  It would make rotating the image much more like rotating paper to get a better angle to stroke from.  (By Nathan Vegdahl)


 * That's what I have implemented in the beginning, but even on fast computers the current rotation code is too slow for interactive mouse-dragging rotation, sadly. You wouldn't want to use it like that. I'm sure it is possible to make this fast enough (even without using OpenGL) but it's probably lot of work. Matumio 05:57, 21 May 2009 (UTC)
 * Ah, yes. That makes sense.  Well, perhaps some time in the future. :-) (Nathan Vegdahl)


 * Add an optional cross-hair to improve visibility of the cursor position when the brush size is very small. I sometimes have issues seeing where the cursor is when using the pencil brush on already complex images, for example.  (By Nathan Vegdahl)


 * Sounds like a good idea. Matumio 05:57, 21 May 2009 (UTC)


 * Add a "show current layer only" option. I frequently want to work with a layer on its own, with all other layers hidden.  (By Nathan Vegdahl)


 * Appears to be in svn now. Thanks a bunch!  (Nathan Vegdahl)