animated gif image reading added

cusax-fix
Yana Stamcheva 20 years ago
parent b720d935d1
commit fdd89fde0d

@ -9,10 +9,16 @@
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import net.java.sip.communicator.util.Logger;
@ -471,6 +477,49 @@ public static Image getImage(ImageID imageID) {
return image;
}
/**
* Loads animated gif image.
*/
public static BufferedImage[] getAnimatedImage(ImageID imageID){
String path = Images.getString(imageID.getId());
URL url = ImageLoader.class.getClassLoader()
.getResource(path);
Iterator readers = ImageIO.getImageReadersBySuffix("gif");
ImageReader reader = (ImageReader) readers.next();
ImageInputStream iis;
BufferedImage[] images = null;
try {
iis = ImageIO.createImageInputStream(url.openStream());
reader.setInput(iis);
final int numImages;
numImages = reader.getNumImages(true);
images = new BufferedImage[numImages];
for(int i=0; i<numImages; ++i) {
images[i] = reader.read(i);
}
} catch (IOException e) {
log.error("Failed to load image:" + path, e);
} finally {
log.logExit();
}
return images;
}
/**
* Represents the Image Identifier.
*/

Loading…
Cancel
Save