Hi people! I suspect that my merge method is causing the error. Here is the method.
public static ImageIcon merge(ArrayList<ImageIcon> images, ArrayList<Float> transparency)
{
BufferedImage dest = null;
Graphics2D destG = null;
int rule; // This is SRC for the top image, and DST_OVER for the other ones
float alpha;
for (int i = 0, size = images.size(); i < size; i++)
{
Image image = images.get(i).getImage();
rule = AlphaComposite.SRC_OVER; // Default value
alpha = transparency.get(i);
if (i == 0)
{
dest = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
destG = dest.createGraphics();
rule = AlphaComposite.SRC; // Rule for 1st image
}
dest = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
destG.setComposite(AlphaComposite.getInstance(rule, alpha));
destG.drawImage(image, 0, 0, null);
}
return new ImageIcon(dest);
}