// this must work since it is already done in the #getImageType(String) call above
ImageWriter writer = (ImageWriter)ImageIO.getImageWritersByFormatName(formatName).next();
// get default image writer parameter
ImageWriteParam param = writer.getDefaultWriteParam();
if (param.canWriteCompressed()) {
// set compression parameters if supported by writer
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
if ((param.getCompressionTypes() != null) && (param.getCompressionType() == null)) {
// a compression parameter is required but not provided, use the first one available
param.setCompressionType(param.getCompressionTypes()[0]);