I made a pull request on GitHub for a small and simple Plugin-System, which just loads Jar-Files and calls their "init" method using the Paint main-class as a paramter. It works and is very simple, for now.

B) Out of interest @Mac70, how is that particularly a problem for a Paint.NET clone?

C) @HeroesGraveDev has written this application to where it is now and has already stated that he has considered using OpenGL and decided against it. Why don't we let him create his own program the way he wants to. I'm not trying to get at anyone but if it were me, this kind of thing would really annoy me.

If it was me doing it (which I hasten to add it most certainly isn't) and I was using OpenGL (again debatable in itself) I would only have the central view as an OpenGL display. The rest would be Swing / JavaFX. The previews could be images fetched from OpenGL.

In other news: I merged the PluginManager, so now you can make/use plugins, if you know how (I'll have to look at the code/ask Longor the specifics on how to make a plugin). I'll make a wiki for it sometime soon.

Okay, so some facts about it: (Should be the same even after the merge)- Plugins are Jar-Files (or folders, but thats the unfinished thing!)- Plugins need a info-file inside them called "plugin.info". (Used to speed up the loading process)- Plugins must extend the class "Plugin" from the Paint.JAVA application jar-file.- The main-class of the plugin is identified solely by the "extends Plugin" and the "plugin.info" file in the plugins jar-file.- The main-class also has to be inside a package, ("package XXX" is the most minimum needed) or else the main-class cant be found.

- Longor1996

Edit: Realized some stuff was changed by heroesgrave. Lets download the source and expand it even more!Edit: Even more changes.Edit: You broke the system @heroesgrave. It doesnt work anymore.

And here is why:Plugins are loaded by loading their main-class from the jar-file and calling its constructur.In the system I made, the constructor is empty, so I can just call the "newInstance"-method of the class object, and the plugin is succesfully loaded.What you did (accidentally without knowing), is that you put in a constructor into the Plugin-class, which killed the system, because it can no longer call the empty constructor, since there is none if you define any constructor but not the empty one.

Thats why reflection is dangerous to use. It can blow up into your face at every moment, including when you at least expect it.I fixed it in my local copy.Just copy the posted code and replace it, and it will work correctly again.

Edit: He fixed it.

Edit:Oh look! Its another pull request!And it contains a plugin viewer for the plugin-manager!

Please dont refactor the code too much this time, its a lot of hassle to correct my workspace when you make commits.(I am using the GitHub client. You make changes, I see them and eclipse includes them instantly, causing errors without end!)

It's just that there is a lot of work going on through Github (Two contributors other than me - Yay!), and it's not worth posting every little feature or update.

Anyway, here's a general update on what's going on:

- Plugins are supported (although I need to update the tutorial on how they work).- Supports left/right click for different colours.- Just recently (a few minutes ago) added support for quick entering of hex-colour-codes.- One of the other contributors is working on an easier way to implements tools using Graphics2D.- Every now and then, I add in a new tool or image operation, most of the time as I need them for my pixel art.- Selection, moving, copying/pasting etc. has had a little bit of work done on it, but is still quite a way off. The main issue at the moment is the selection.- There is a pixel grid. I think this was added a while ago, but I can't remember if I properly announced it.

EDIT: GitHub Link so you don't have to scroll to the first post. Also contains download links.

I think really now the only stuff that would be neat was polishing this project off with a nice Gui a few extra tools cropping support (if it doesnt have it already havent seen the project in a while) It would be a great replacement for paint.net. Does it support custom exports? I think that would be really useful allowing support for python images.

This time it is:- Added new ImageExporter for 'BIN - Raw Binary Image Data Format'.- Added new ImageExporter for 'TGA - Tagged Image File Format'.- Added custom ImageImporter system.- Added new ImageImporter for 'BIN - Raw Binary Image Data Format'.- Added a 'Unsafe' utility class, which includes a fallback in the (rare?) case Unsafe is not avaible.- Moved ImageExporter into the correct package.- Added simple error message dialogue to the Image save operation.- Put my name into the copyright notice in the files I created/modified.- Fixed some mistakes from the last pull request, and some bugs.- Fixed a FATAL mistake in the image loading routine!

Edit:I am in a serios coding mood right now!Have another pull-request!

I decided to draw bright transparent scribbles everywhere before writing Paint.JAVA, so here's a screenshot.

Features:

New Drawing System. Saves memory and CPU time while still being fully functional. You probably won't notice a difference, but I'm just telling you that I was working on something over the last few days.

Layers. These are quite different to most other image-editing programs. While others use a list of layers, Paint.JAVA organises them into a tree structure. I must warn you that layer manipulation is not fully functional yet, so I recommend keeping all your layers in the first level (under "Base"), otherwise you will have some trouble rearranging them. F6 opens the layer manager. The controls should be easy enough to work out.

One thing to look out for is that undo/redo is layer-specific. If you draw something on a layer and want to undo it, you have to go back to that layer. Think of it as each layer being treated as a separate image, but in the same document.

A few minor changes to Brush and Eraser.

Proper transparency! I've copied Paint.NET on this one. Transparent colour in the same layer replaces, Transparent colour in a different layer blends.

Known Problems:

Can't resize/rotate due to problems with the new drawing system. Make sure your image is the right dimensions first.

I think I broke the TGA exporter.

There is no layered export format. All your layers will be merged when saving, but will remain in place in the application. I'm going to work on a new format to support layered image exporting/importing.

I do not recommend using this build for much serious work.By all means, test it, or the bugs will slip through to v1.0.It is perfectly capable of doing pixel art, but some features are missing that could make things hard for you.But if you are wanting to do proper work with it, wait for v1.0 in a few days.

Well, I just noticed Github had a Traffic monitor, so I decided to see what was linking to the project.

#1 was Reddit's /r/opensource. Someone posted it 2 weeks ago and I didn't notice. Unfortunately, the comments were the classic "The developer should use GIMP".

#2 was JGO.

#3 was some Japanese website. I translated the page with Google:

Quote

There is a software called Paint.NET to the famous painting of open source software . It is developed using the . NET as the name . What happens where if you made ​​in Java clone of Paint.NET. It will be Paint.JAVA course .

Have tried . UI is simple, but the minimal functionality has been implemented .

And you can change the color , you can draw a circle or square .

Layer and change of color is supported .

Basic functions still only honest I have not been implemented , but to use it or incorporated into other software looks good . Also , looks good as an aid in handling graphics as a Java application .

In addition you will also advantage is to operate in a multi- platform Java that it becomes equivalent to Paint.NET .

Paint.JAVA is an open source Java software made ​​, the GPL v3.

#4 was Github, #5 was Google. #6 was Facebook. The rest weren't notable.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org