April 30, 2017, 03:49:29 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You may have to login twice the first time,  but we don't know why - Erm I mean it's a security thing yeah that's it - security.
   Home   Help Search Login Register  
Pages: [1]
Author Topic: Reference Images app  (Read 161 times)
Sr. Member
Posts: 182

View Profile WWW
« on: March 09, 2017, 11:22:51 PM »

This is a small Java application that allows to place  a number of "reference" pictures on the desktop,
and above your preferred drawing software, too...

Be gentle, I wrote it in a spur of Java fever, and it shows it, a bit.

My idea was to be able to have some photo references at hand, without having to print them, and without
feeling too much the temptation to just import them inside the drawing software and trace over them (which follows Wally Wood mantra, maybe a bit too much to the letter).

This is, really, the main "Original Sin" of having moved completely to the digital side (the SimtiQs are just too good).  

The application can open a series of small windows, that can be resized, moved, each one showing an image that can be resized and clipped (of course, just what we see - it is non-destructive).

It memorizes the parameters of each one, so that each frame will be restored more or less exactly the next time the application will be launched, and or when their  set ("Session") will be reloaded.

It can grab the images from the system clipboard (useful on google and the likes) automatically, or with a usual ctrl v (kind of... it depends a bit from what element in the GUI have focus, so it can misfire).

It has a management frame, a configuration window, a system tray icon with a pop-up menu... and its  share of small bugs (I will sort them out, with time).  

It is possible to decide to keep more than one set of reference pictures (which, by the way, need not be in any specific location on the computer, though the application stores its auto-saved clips in one location), each one called a "Session"...

Theoretically, one could have "cars", "flowers", "reference for Xyz drawing" etc.

Note that it has been designed for use, originally, as a back end to Windows' "Send to" feature...

To work with it, when my little app is run, it first tries to call any "older" copies of itself through TCP on the local machine, and if one instance of it is already open and listening (i.e. has already loaded all the GUI), the process spawned by the "Send To" event will simply send its "sister" the list of files to add, and die.

With no graphics involved, it is relatively fast.

For this reason, when the App runs for the first time, firewalls may pop a warning and ask to deny/allow the connection.

 A suggested trick, to keep things under control: instead of launching it using the standard javaw.exe virtual machine, I make a copy of javaw with a specific name,  and use a short-cut to launch the Jar - it makes easier check what this - and all the others small java apps that I wrote, each is created through a JW[nameApp].exe copy of javaw - really do in my computer. Opening the task manager, each different copy is identifiable by its name , which makes easy kills what misbehave, or runn┬íng an analysis on it using Process hacker.

If you do not allow it to use TCP, every call will open a new instance of the application (once upon a time, I used a .lock file system, but it was prone to jamming).

If you authorize it in the firewall, only one instance may run at each time (which is plenty enough, really).      

The 32 bit jar is compiled against Java 1.7.

The 64 bits version is compiled against Java 1.8.


Direct interface with a mouse or a pen on the image frame:

The left slider is the zoom.

The right and bottom sliders behave like scrollbars (and should disappear when not in use).

To move the picture inside its frame, pick it with the mouse below the file name area

To drag the whole picture frame, either pick it on the  top (where is the name of the file),  or click the right button of the mouse while moving.

Theoretically, clicking the central button should set it in "zoom" MODE, but I have no mouses at the moment, and my Wacom driver is a bit of a prick, so I haven't tested it.

All these actions are mirrored on the "Remote Mouse" area of the admin window - on it, it also work using shift (drag the highlited image frame) and ctrl (UP-down: image zoom; left-right: changes the size of the frame.)

Also, the image frames can be moved by selecting one in the admin frame (keys A and Z to chose the selected frame) and using the keyboard arrows (shift makes the movement faster, ctrl makes the frames jump monitor)

Odd functions: in multi-monitor systems, each picture shows also a "Jump to next screen" button in the right upper corner, just aside its _ (hide) button.
Also, for multi-monitors set-ups, there is the option (in the settings) "Crossing screen boundaries is unsafe".

I added these because, I discovered, when you have a multi-monitor set-up with more than one graphic board, when you cross between monitors controlled by different boards,
Java applications can and usually freeze (this happens also with the DisplayLink usb... as far as I can understand, it is some bug, but where? in my work, in the Java Swing framework, in my computers...)

If  "Crossing screen boundaries is unsafe" is set, the Jump Screen buttons ( on the frames, or in the management table) become the only mode to move the frames ( and the admin window)
from one monitor to the other (or the "Remote Mouse", which makes them "Jump" to the screen the mouse has entered).

Adding images to the sets can be done in four ways of increasing simplicity:

 Using an "Add Image" button ( or the Add Image function of the Tray ) - it is the most unhelpful way.

 Passing a set of paths to files (i.e. using a Windows "Send to" feature, or similar)

 Copy-pasting the image.

 Telling it to continuously "Grab The clipboard" (again, on the Admin frame or in the Tray pop-up menu) - every time one copies an image, it will automatically build it in a frame.

(Both copy-pastes may not work, depending on how the app you do the copy in classifies the image data; It works wondrously with my Firefox and Manga Studio, it fails with windows image viewer. )

Note: over time, I shall add keyboards short-cuts for every action... configurables? Aaagh

The Jar can be found here:


that is part of my contribution to Simtiqitude that can be found in:


For those of us that miss the possibility to have a hierarchy of options under the "Send to" feature in windows, I added my implementation of a structured system for it.

It is still in Java (1,7 ? I think), and it does call itself through TCP (it's faster than using files, and I do not have to keep writing over the same spots in my SSD) so that, after the first time, it is very fast (note to self: do not cross-monitors with this).  

Finally, to make people envy my genius,


* 0D-00001 - _____All Screens.jpg (365 KB. 1984x737 - viewed 29 times.)

Because of not only of plywood is Dabotz the master...

« Last Edit: March 10, 2017, 02:35:51 AM by DaBotz » Logged

The most incredible artist of... Barbanza?
Pages: [1]
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!