I'm not a big fan of Java based apps but the fact the it works across platforms (in theory anyway but not always in practice) makes it a popular choice with many developers.
And there aren't many Java apps like ImageJ which specialize in analyzing images. ImageJ runs either as an online applet or as a downloadable application which you'll find here. ImageJ can display, edit, analyze, process, save and print 8-bit, 16-bit and 32-bit images and supports most major formats including TIFF, GIF, JPEG, BMP, DICOM, FITS and "raw".
The main use of ImageJ is that it can calculate area and pixel values which may be useful for graphic designers. It does however go a little beyond that too allowing you to measure distances and angles, create density histograms and also line profile plots. It supports other standard image processing functions too such as contrast manipulation, sharpening, smoothing, edge detection and median filtering.
Although ImageJ can be a bit slow in Java, its a decent image analysis tool considering its completely free.
- Added the Plugins>New>Macro Tool and Plugins>New>Plugin Tool commands. Single macro tools are now installed in the first available toolbar slot, or if no slots are free, in the last slot. Added the ij.plugin.tool.PlugInTool class, which was inspired by Johannes Schindelin's AbstractTool class in Fiji (examples). Added the getC(), getZ(), getT(), setC(), setZ() and setT() methods to the ImagePlus class. Thanks to Norbert Vischer, fixed a bug the caused the setZCoordinate() macro function to not work as expected. Thanks to Ian Lim, fixed a bug that prevented some AVI files from opening. Thanks to Cheryl McCreary, fixed a bug that caused the run("Histogram","...") macro function to sometimes not work as expected. Thanks to Jerome Mutterer, fixed bugs in Process>Batch>Macro and Process>Batch>Virtual Stack that caused them to fail with macro code that duplicated or opened images. Thanks to Paul Jurczak, fixed a bug that caused some RGB BMP files to fail to open. Fixed a bug that caused the makeText() macro function to not work if the text was too wide. Fixed a regression, introduced in v1.46a, that caused measurements of spline fit freehand and traced selections to be inconsistent with earlier versions of ImageJ. Wilhelm Burger fixed a bug that caused the Edit>Crop command to not correctly handle overlays.