AuthorTopic: I'm making a paint program, so useful tools, ideas and features required please  (Read 156457 times)

Offline questseeker

  • 0010
  • *
  • Posts: 112
  • Karma: +0/-0
    • View Profile
I admire the idea of competing with, e.g., Grafx2 (http://code.google.com/p/grafx2/) and I'm waiting for a test release.
Meanwhile, some questions and comments on assorted entries of ideas.xls. First installment:

Palette support

The colour-related features in ideas.xls suggest that you have a colour-first approach: the user paints in colours and the palette as a bunch of colours that have been computed and/or picked among all RGB or HSV possibilities.
But there are already too many tools of this kind, and a more useful pixel art tool should have a palette-first approach: the user paints in palette entries, each entry in a small palette is meaningful (do you support naming palette entries?) and its actual colour is a more volatile detail that belongs in the final rendering step of the image.

Some advanced features:
  • Do you want to support different palette entries with the same colour? Example application: some normally different dark colours might become all black or dark grey for a low light palette version, without irreversibly collapsing the details of half the image into a solid area.
  • Palettes might be fixed (e.g. EGA, CGA, C64 hardwired colours; or funny Pixelation challenges) or changeable or mixed (e.g. Windows): do you support palettes where specific entries are "protected" and others free to change?
  • Do you support general two colour palettes (good), or only black & white (bad) or neither (unacceptable)? And what about palettes with arbitrary numbers of entries, not only powers of two, which can be represented in PNG files without wasting space and are supported by GIMP?
  • Do you plan to support multiple colours per palette entry (or, if you wish, "parallel" palettes)? One might edit once and see different colour variants of the image in separate preview panels, which would be extraordinarily useful for recoloured sprites or for experimentation.
  • Along the same lines, there can be an explicit export step from the semantically rich "project" to one or more "products" in stupid file formats. For example, editing with all the convenience of a palette and exporting 32 bit RGBA or explicitly indicating palette indices for the output (e.g. for games that use their hardwired palette anyway or that look at magic palette indices to define maps from an image).

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
Hi Questseeker,

Thanks for the feedback and questions. I will try to address them:

The program will work in both a truecolour and an 8-bit palette mode. In a paletted mode then the colours can be changed without losing any image detail (i.e. you could have several blacks if you darkened the palette.

I have not currently thought about protected or locked palette entries. You will be able to grab palettes from other images and remap colours, or load from photoshop ACT file palettes.

Quote
Do you support general two colour palettes (good), or only black & white (bad) or neither (unacceptable)? And what about palettes with arbitrary numbers of entries, not only powers of two, which can be represented in PNG files without wasting space and are supported by GIMP?

I'm not completely sure what you mean here, but as the program support upto 256 colours in a palette mode, you can set a two colour palette easily if you want too..


It will be able to load/save PNG files, so I assume it will be able to do custom number of colours (upto 256). This is not something I have looked at yet though..


Quote
Do you plan to support multiple colours per palette entry (or, if you wish, "parallel" palettes)? One might edit once and see different colour variants of the image in separate preview panels, which would be extraordinarily useful for recoloured sprites or for experimentation.

That's a good idea! Not sure how easy that would be to implement or for the user to manage multiple colours though..


Quote
Along the same lines, there can be an explicit export step from the semantically rich "project" to one or more "products" in stupid file formats. For example, editing with all the convenience of a palette and exporting 32 bit RGBA or explicitly indicating palette indices for the output (e.g. for games that use their hardwired palette anyway or that look at magic palette indices to define maps from an image).

Again, sorry I'm not quite sure what you mean. Can you clarify please?

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
* Added HSV sliders (which work)
* Made zoom magnification amounts use a single slider instead of different zoom factor icon buttons. Works much better now.

(I'll try to add the latest things and update the spreadsheet tomorrow), there are always things to do!

Offline questseeker

  • 0010
  • *
  • Posts: 112
  • Karma: +0/-0
    • View Profile
Quote
Along the same lines, there can be an explicit export step from the semantically rich "project" to one or more "products" in stupid file formats. For example, editing with all the convenience of a palette and exporting 32 bit RGBA or explicitly indicating palette indices for the output (e.g. for games that use their hardwired palette anyway or that look at magic palette indices to define maps from an image).

Again, sorry I'm not quite sure what you mean. Can you clarify please?

The "project" the user edits doesn't correspond directly to the final image files: there can be a choice of alternative outputs (the automatically recoloured versions I proposed, or transparent images composited on different backgrounds, or the same image in different file formats, etc.) or some degradation that require the Pixe documents and the usable image files to be quite different.
"Stupid" file formats in common use cannot represent everything the program needs, and in many cases they have limitations: no palettes (forcing collapse of palette indices and usually removal of palette information), no transparency (forcing compositing of transparent images on some background) or binary transparency (unavoidably losing information from the alpha channel).
If you are bold, automatic dithering and colour quantization could be used to convert from the original colour to a specified output palette or to a reduced colour depth format (multiple previews and outputs would make trying out different compromises much easier).

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
Ok. Well I will have my own file format which supports layers (similar to photoshops). This will be a master file format so no information is lost.

It sounds like what you want is a True Colour Format with Alpha channel support and palette entries too. This is certainly possible, but I can't quite grasp the benefits..

I would like to add things like colour remaping and quantization. Obviously that's more complicated to add, but would be nice.

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
Added:

* HSV sliders now update if RGB are changed, and vise versa.
* Simplified palette gui section by removing RGB & HSV text and making RGB values appear 'dynamically' (see below) and re-ordering 4 pen layout to be symmetrical.
* "Pix-e" text in top left now fades out and is replaced by information on colour index in palette and RGB values when cursor is over colour in the palette, OR in the canvas.
* Colour underneath mouse cursor when in canvas area of screen is highlighted by a white square in the palette.
* Palette logic code now correctly uses the palette view x and view y mode so you can now view and select from a palette of 4-256 colours.
* Brought bottom line co-ords and help text to top of screen (replacing file name info). This unifies the X and Y info with the RGB values to the left and keeps the eye's attention fixed in top left of the screen where the most important objects are (RGB values, XY, palette entries and main tools).
* Shrunk bottom border, which will now just contain horizontal slider for image view X and border to the right will contain vertical slider for image view Y.
« Last Edit: December 10, 2008, 03:08:08 pm by happymonster »

Offline 9_6

  • 0010
  • *
  • Posts: 416
  • Karma: +0/-0
    • View Profile
Can you only pick colors through sliders like in graphics gale?
If so, how about an actual color selector like in photoshop or paint or any other painting program? Would be much more intuitive than dealing with raw rgb values.

Also will this support animations?
Does scaling an image blur it?
Opera fix Firefox fix

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
You will be able to pick colours from either sliders of colour selectors like in Photoshop.

I will try to support animations to at least a basic level.

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
Added:
  • Pen ID colours (i.e. the borders around the pen colours below the palette entries and around the appropriate palette entries) are now read from the external palette and image.
  • Button gfx (little mouse button graphics) now use these pen colours as well instead of being fixed.
  • Help text is now coloured according to button colours to reinforce association and provide more visual information of button->action based on colour.
  • Eyedropper mode #1 - click on pen box, then either on the palette or the canvas to set that pen to a new colour. Right mouse button cancels.
  • Eyedropper mode #2 - Holding down control (this will be user selectable in future) when over canvas will change your cursor to an eyedropper. Pressing a button combination now lets you store that colour in the appropriate pen.

No more comments, or feedback?  :P

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile
Added:
  • Right mouse button on pen 1 will swap with pen 2
  • Right mouse button on pen 2 will swap with pen 1
  • Right mouse button on pen 3 will swap with pen 4
  • Right mouse button on pen 4 will swap with pen 3

Latest screenshot (editing Pixe's icons in Pixe itself..):
www.funkemunke.com/Pixe_5.png