Imaging, Shimaging!

An advanced Imaging widget for Java Swing applications

[Home] [Download] [F.A.Q.] [Java API] [General Usage] [Advanced Topics] [SF Project]

Frequently Asked Questions

What JDK / JRE does Shimaging target?
    Java Standard Edition, 1.5. Although some ImageSource implementations will require the JAI core libraries.

Could it be backported to 1.4?
    Sure, but I certainly have no interest in doing that work. If you need 1.4 support, I'd strongly urge you to upgrade. It's not 2002 anymore.

What kind of Image objects can Shimaging handle?
    Shimaging uses BufferedImages for a number of reasons. BufferedImages are easy to work with, easy to create, and it's not hard to convert any Image object into a BufferedImage. For example, a simple way to convert an AWT Image object into a BufferedImage goes something like...

	// Assumes that Image foo is already loaded, the current class implements ImageObserver, and no exceptions or error states occur.
	// There's quite a bit to be filled out here if you actually wanted to try something like this.
	public BufferedImage getAsBuffered(Image foo) {
		BufferedImage bufImage = new BufferedImage(foo.getWidth(this), foo.getHeight(this), BufferedImage.TYPE_INT_ARGB);
		Graphics g = bufImage.getGraphics();
		g.drawImage(foo, new AffineTransform(), this);
		return bufImage;

I've made changes to Shimaging. Do you want them?
    Absolutely! While some of your changes may be highly-specific to your needs, we'd love to hear what you're using Shimaging for, and if some of your uses seem common, we'd like to be able to include them for other users to benefit from as well.

How can I get involved in the future of Shimaging?
    Sign up for the mailing list and send diffs, get a sourceforge developer account and request access, or just report bugs, request features, and join the community. Logo