Simone Giannecchini a écrit :
> I guess that since ImageWorker does not really focus on writing images
> out ,using a fixed writer that we know that works is not that bad.
> Anyway if this causes you some troubles I guess we can remove this
> ilimitation and state in the javadoc that GIF writing has been tested
> only using the Imageio writer. The JIRA would help keep track of some
> investigation/work I will have to do on this.
Yes I understood that and my plan was to stick to exactly the same GIF writter
than today, but through IIORegistry mechanism (basically looking at the class
name) rather than hard-coded dependency.
Current code is:
final ImageOutputStream ios = ImageIO.createImageOutputStream(destination);
final ImageWriter gifWriter = new GIFImageWriter(gifSPI);
The last line could probably be safely replaced by:
final ImageWriter gifWriter = gifSPI.createWriterInstance();
The first line could be replaced by:
final IIORegistry registry = IIORegistry.getDefaultInstance();
Iterator<ImageWriterSpi> it =
registry.getServiceProviders(ImageWriterSpi.class, true);
ImageWriterSpi spi = null;
while (it.hasNext()) {
final ImageWriterSpi candidate = it.next();
if (containsFormatName(candidate.getFormatNames(), "gif")) {
if (spi == null) {
spi = candidate;
} else {
final String type = candidate.getClass().getName();
if
(type.equals("com.sun.media.imageioimpl.plugins.gif.GIFImageWriterSpi")) {
spi = candidate;
break;
}
}
}
}
if (spi == null) {
throw new IIOException(Errors.format(ErrorKeys.NO_IMAGE_WRITER));
}
This is complicated stuff for replacing a single line, I admit. But it avoid
completly the direct dependency. The ImageIO GIF encoder is preferred if found
because of the type.equals("...") check, otherwise the first suitable encoder is
used.
Martin
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel