Hello! This question might be for the long timers of Java. I am a newbie to Java (but an old hat programmer), and have a weird issue that I need some help with.
I am working with a Java program that was developed from 1999 to 2007, and then purchased by the company that I work for. The team that I am working with is responsible for creating the next version of this program, which contains several enhancements and fixes to existing code.
In the program, images are displayed over the top of other images at several places in the UI, so you have a 'foreground' and 'background' image setup. The thing that is weird is that there is a process of converting the 'foreground' images into a different image format, and the conversion process deals with looking for transparent pixels starting at x and y = 0, searching for non transparent pixels, creating a csv file that contains what it calls the "actual X" and "actual Y" of the image, and then generating a new image that doesn't contain the transparent pixels, basically moving the non transparent part of the image to the top/left. This is a pretty intensive process, given that it does this to over 5,000 images! The problem is that while it works fine on Windows XP, it is broken on Windows 7. The images that are converted come out odd looking, with colors that don't match the original images, etc.
The good thing is that my teammates and I have created an editor that allows us to create composite images using transparency and have had no problems at all. Given this info, we're ready to eliminate this conversion process with standard PNG files, and rewrite the portions of the program that use the converted images. In order to do this, I need to be able to speak to management with authority about why this conversion process exists at all...
So the question I have is -- did "Java of old" have problems displaying images with transparency over the top of other images? Is this why the conversion process was developed in the first place?
Thanks in advance for any help.
Joined: Jan 25, 2010
I was able to track down one of the original developers, and it turns out that the conversion process was created to reduce the size of the memory footprint of the application.