Spade (was Paint.JAVA)

If you don’t mind, I’ve modified it to look native on Mac OSX.

Not perfect, but isn’t it nice?

Nice work
But I have a few questions.
Why not JavaFX instead of swing ?
And why not framework native color-picker ?

On the color picker:
The original Java color-picker was too… bulky.
Paint.JAVA needed a color-picker that was small, and simple (both in code and user-interface).
The original Java color-picker is just too bloated in my opinion.

On JavaFX:
This will sound stupid but… what is JavaFX? Only heard the name so far.

Have a nice day.

  • Longor1996

JavaFX is the brand spanking new (it ain’t actually so new but it was fairly recently that it became standard in JRE) GUI kit. And I have to say I think it’s pretty damn good. It’s got all the usual stuff as well as

  • nice scene graph based 2D graphics with all kinds of effects and transforms (in the soon to be released JavaFX 3.0 there are proper 3D graphics. I assume that in 4.0 there’ll be 4d graphics). But I’ve never actually used these so my judgement is purely based on what I’ve heard from others.

  • CSS styling of all components.

  • A SceneBuilder (that’s its name but it’s just a GGUI designer and yes both those Gs are intentional) which puts in GUI layouts in files which a JavaFX application can then load up so you don’t even need full IDE integration.

  • Automatically builds the application as .jar, .jnlp and I think something else that I can’t remember. Which is nice.

  • Load of really useful stuff for developers (and this is actually what really sells it for me) like properties and bindings. Which are just so useful and really well done. I think some threads and collections stuff too.

  • A generally quite nice API (in my opinion). Maybe that’s because it is so close to swing (API wise only) which was the first one I learnt.

  • I’m probably missing some stuff.

Also I’m not saying that I think you should convert the whole thing to JavaFX. Just telling you what it is.

Who knows? Maybe after 1.0 I’ll look into using JavaFX. I read up on it a while ago, but never really thought of using it for this project.

Yep, javafx is very nice. Can’t wait it to be THE default UI framework.

I think I am going to write a special image-op class, which allows to do effects on pixels, while taking the pixels around the pixel itself into account. The class will probably have a inner option defining if pixel-access get’s ‘Bordered’, ‘Clamped’ or ‘Wrapped’.

Then I can proceed and make some better Blur/Sharpen/Fresnel/Edge-filters.

Also, I would love to get image-previews working again, but that will require ALL layer-nodes to be able to show their own preview’s, and it will also require all tools and effects to run per ‘Selected Layer’, so a ‘getSelectedLayerNode()’-method is needed.

Have a nice day!

  • Longor1996

Has anyone posted this yet?

http://www.jhlabs.com/ie/index.html

Has a bunch of image filters and what not as well as the editor which I linked. There is even something on particles.

And we have v0.12 Beta.

This is going on a bit longer than I first thought. Before, I thought that selection would be the last hurdle for 1.0, but there’s still a bit to go, mainly in the area of the UI.

In this version:

  • Selection! Yay! S to use the select tool. M to use the move tool. There are still a few functions missing (adding to/removing from the selection, copy and paste etc.) but they will be added later. The current system is good enough for lots of tasks.
  • Layered image format. Okay, I’ll admit it’s not very good. LBIN for uncompressed, ZLBIN for compressed. Both take about the same time to load, but ZLBIN is way smaller.

This is the stage where I need lots of feedback to get it ready for v1.0. Bugs, annoyances, requests (if we don’t do them now, we might do them later), post them, PM me, or open an issue on Github.

Things already planned for 1.0:

  • A tools dialog
  • Clipboard functions (Cut/Copy/Paste)
  • Being able to combine selections (Replace, Add, Subtract, XOR)
  • Finish off making icons
  • Better stability. (things can get nasty if you don’t clean the history for a lot of changes)
  • A finished plugin system
  • Some documentation
  • Some more tools and effects if possible

Links

Github
Latest Stable
Latest Dev
Issue Tracker
My blog (hasn’t had much activity since I switch to Github pages, so it’s mainly Paint.JAVA updates)

Is there anywhere I can donate to this project? I would love to contribute :smiley:

  • Jev

You can go and visit the GitHub-Repo, make a Fork, then look at the Issue-List and do something that is listed there.
THAT would be a good contribution. (Or you go and ignore the Issue-List, and just make new tools/effects)

Have a nice day!

  • Longor1996

Jev how could you?? What about MERCury :frowning:

I’ve seen in issues that you need a toolbox to replace the menu item “Tools” if I understood correctly.

So I’ve tested what can be done and this is a quick solution with a JToolBar :

As you can see, the fixed JToolBar has a acceptable presentation, but with the floating version, I haven’t managed to reduce the width less than this one, certainly because of a restriction.
The problem is the same with a JDialog…

If you are interested by this solution, I can contribute and make it work !

The floating version shouldn’t be tall and thin. It’s fine short and square-ish. I’m trying to aim for dialogues that don’t get in your way all the time.

Go ahead and make a pull request when you’re done.

The latest dev build has huge improvements to the selection system.

It now masks changes, and you can combine selections. Support for cut/copy/paste is almost ready.

Controls for selection:

  • Just mouse: Replace
  • Ctrl: Add
  • Alt: Subtract
  • Shift: Intersect
  • Ctrl+Alt: XOR (it makes sense because it subtracts what is already there and adds what isn’t)

Ctrl+A: Select the whole layer
Ctrl+D: Deselect.

Link: Latest development build

Paint.JAVA Beta 0.13.

No screenshot, since there isn’t any big notable feature.

In this update I overhauled the selection system.

  • Changes are now clipped changes against the selection region, so you can use selection as a mask.
  • I also added new ways to add to the selection (See above post).
  • Cut/Copy/Paste is now working. It is also cross-application compatible (I could copy things into GIMP).
  • Ellipse selection. (A bit buggy, but should work for some things)
  • Can move the mouse one pixel with the arrow keys (Or hold control and move 8). AFAIK, it works with everything.

Not much to go now. In fact, I’ll reveal my now-very-short checklist of must-haves for v1.0:

  • Tools dialog (Gef working on it?)
  • Either save history to disk, or cut it off at a certain point
  • Finalise the plugin system
  • Icons!

Links:

Github
Latest Stable
Issue Tracker

I’ve made an auto-updater plugin which will be somewhat useful after a 1.0 release.

Basically it checks for a new build on the Github ‘master’ and (if you want it to) downloads and replaces the current Paint.JAVA installation with the new file.

Due to issues with development builds, if it detects you are using the latest build from the ‘dev’ branch, it ignores any update.

At the moment, it’s quite useless, as there’s only one stable version that’s compatible, so it can’t update anyway.
(Ninja-Edit: Due to a hotfix, now there are two stables. Still doesn’t make a difference though)

Anyway: Paint.JAVA Auto-Updater on Github

Also, I pushed out v1.0-Beta.2

Features lots of minor tweaks, a ‘colour square’ (courtesy of BurntPizza) for the colour picker (it looks a bit awkward, but I’ll fix it soon)

Please report any bugs you find.

Topic revived by popular demand!

For interest, that should be “Palette” not “Pallet”

Cheers,

Kev

Also for more consistency, stick with using either Color or Colour, above screenshot uses both types :slight_smile: