This is an automated email from the ASF dual-hosted git repository. kinow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-imaging.git
commit dfaa6100da09ae09bac89ce2f72f143a73e86458 Author: Bruno P. Kinoshita <ki...@apache.org> AuthorDate: Sat May 15 22:10:48 2021 +1200 [IMAGING-159] Need to pass a format to some Imaging as we don't have the parameters. Fix remaining unit tests --- .../org/apache/commons/imaging/ImageFormats.java | 16 ++++--- .../org/apache/commons/imaging/ImageParser.java | 5 +-- .../java/org/apache/commons/imaging/Imaging.java | 51 ++++++++++++++++------ .../imaging/formats/bmp/BmpImageParser.java | 4 +- .../imaging/formats/dcx/DcxImageParser.java | 5 +-- .../imaging/formats/gif/GifImageParser.java | 4 +- .../imaging/formats/icns/IcnsImageParser.java | 4 +- .../imaging/formats/ico/IcoImageParser.java | 4 +- .../imaging/formats/jpeg/JpegImageParser.java | 4 +- .../imaging/formats/pcx/PcxImageParser.java | 4 +- .../imaging/formats/png/PngImageParser.java | 4 +- .../imaging/formats/pnm/PnmImageParser.java | 11 +++-- .../imaging/formats/psd/PsdImageParser.java | 4 +- .../imaging/formats/tiff/TiffImageParser.java | 5 +-- .../imaging/formats/wbmp/WbmpImageParser.java | 4 +- .../imaging/formats/xbm/XbmImageParser.java | 4 +- .../imaging/formats/xpm/XpmImageParser.java | 4 +- .../imaging/examples/ImageWriteExample.java | 3 +- .../commons/imaging/examples/SampleUsage.java | 4 +- .../imaging/formats/bmp/BmpRoundtripTest.java | 3 +- .../formats/jpeg/exif/MicrosoftTagTest.java | 3 +- .../imaging/formats/png/ConvertPngToGifTest.java | 3 +- .../formats/png/PngMultipleRoundtripTest.java | 3 +- .../commons/imaging/formats/png/PngTextTest.java | 3 +- .../formats/png/PngWriteForceTrueColorText.java | 3 +- .../imaging/formats/png/PngWriteReadTest.java | 11 ++--- .../imaging/formats/pnm/PnmImageParserTest.java | 3 +- .../formats/tiff/TiffAlphaRoundTripTest.java | 3 +- .../imaging/formats/tiff/TiffCcittTest.java | 13 +++--- .../imaging/formats/tiff/TiffRoundtripTest.java | 3 +- .../imaging/formats/tiff/TiffSubImageTest.java | 3 +- .../commons/imaging/formats/xmp/XmpUpdateTest.java | 2 +- .../roundtrip/NullParametersRoundtripTest.java | 2 +- .../imaging/roundtrip/PixelDensityRoundtrip.java | 2 +- .../commons/imaging/roundtrip/RoundtripBase.java | 8 ++-- 35 files changed, 127 insertions(+), 85 deletions(-) diff --git a/src/main/java/org/apache/commons/imaging/ImageFormats.java b/src/main/java/org/apache/commons/imaging/ImageFormats.java index fdceaf2..2e10101 100644 --- a/src/main/java/org/apache/commons/imaging/ImageFormats.java +++ b/src/main/java/org/apache/commons/imaging/ImageFormats.java @@ -44,21 +44,21 @@ public enum ImageFormats implements ImageFormat { BMP(BmpImagingParameters.class, "bmp", "dib"), DCX(PcxImagingParameters.class, "dcx"), GIF(GifImagingParameters.class, "gif"), - ICNS(IcnsImagingParameters.class, ""), + ICNS(IcnsImagingParameters.class, "icns"), ICO(IcoImagingParameters.class, "ico"), JBIG2(ImagingParameters.class), - JPEG(JpegImagingParameters.class, "jpg", "jpeg", "jpe", "jif", "jfif", "jfi"), + JPEG(JpegImagingParameters.class, "jpg", "jpeg"), PAM(PnmImagingParameters.class, "pam"), PSD(PsdImagingParameters.class, "psd"), PBM(PnmImagingParameters.class, "pbm"), PGM(PnmImagingParameters.class, "pgm"), PNM(PnmImagingParameters.class, "pnm"), PPM(PnmImagingParameters.class, "ppm"), - PCX(PcxImagingParameters.class, "pcx"), + PCX(PcxImagingParameters.class, "pcx", "pcc"), PNG(PngImagingParameters.class, "png"), RGBE(RgbeImagingParameters.class, "rgbe"), TGA(ImagingParameters.class), - TIFF(TiffImagingParameters.class, "tiff", "tif"), // TODO: Or is it .tif the default one? + TIFF(TiffImagingParameters.class, "tif", "tiff"), WBMP(WbmpImagingParameters.class, "wbmp"), XBM(XbmImagingParameters.class, "xbm"), XPM(XpmImagingParameters.class, "xpm"); @@ -90,16 +90,18 @@ public enum ImageFormats implements ImageFormat { @Override public ImagingParameters createImagingParameters() { + ImagingParameters parameters = null; if (this.parametersClass != null) { Constructor<?> ctor; try { ctor = this.parametersClass.getConstructor(); - return (ImagingParameters) ctor.newInstance(); + parameters = (ImagingParameters) ctor.newInstance(); } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { LOGGER.log(Level.WARNING, "Failed to create imaging parameters: " + e.getMessage(), e); - return new ImagingParameters(); + parameters = new ImagingParameters(); } + parameters.setImageFormat(this); } - return null; + return parameters; } } diff --git a/src/main/java/org/apache/commons/imaging/ImageParser.java b/src/main/java/org/apache/commons/imaging/ImageParser.java index 4b4eed5..7e92cd0 100644 --- a/src/main/java/org/apache/commons/imaging/ImageParser.java +++ b/src/main/java/org/apache/commons/imaging/ImageParser.java @@ -905,12 +905,11 @@ public abstract class ImageParser<T extends ImagingParameters> extends BinaryFil final int index = fileName.lastIndexOf('.'); if (index >= 0) { - String ext = fileName.substring(index); + String ext = fileName.substring(index + 1); ext = ext.toLowerCase(Locale.ENGLISH); for (final String ext2 : exts) { - final String ext2Lower = ext2.toLowerCase(Locale.ENGLISH); - if (ext2Lower.equals(ext)) { + if (ext2.equals(ext)) { return true; } } diff --git a/src/main/java/org/apache/commons/imaging/Imaging.java b/src/main/java/org/apache/commons/imaging/Imaging.java index 1682bb0..5f0bb05 100644 --- a/src/main/java/org/apache/commons/imaging/Imaging.java +++ b/src/main/java/org/apache/commons/imaging/Imaging.java @@ -28,7 +28,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.List; import java.util.Locale; -import java.util.Objects; +import java.util.stream.Stream; import org.apache.commons.imaging.common.ImageMetadata; import org.apache.commons.imaging.common.XmpEmbeddable; @@ -330,7 +330,25 @@ public final class Imaging { } else if (compareBytePair(MAGIC_NUMBERS_RGBE, bytePair)) { return ImageFormats.RGBE; } - return ImageFormats.UNKNOWN; + return Stream + .of(ImageFormats.values()) + .filter((imageFormat) -> { + return Stream + .of(imageFormat.getExtensions()) + .anyMatch((extension) -> { + final String fileName = byteSource.getFileName(); + if (fileName == null || fileName.trim().length() == 0) { + return false; + } + final String fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1); + return extension != null + && extension.trim().length() > 0 + && fileExtension.equalsIgnoreCase(extension); + }); + }) + .findFirst() + .orElse(ImageFormats.UNKNOWN) + ; } } @@ -1418,13 +1436,15 @@ public final class Imaging { return getBufferedImage(new ByteSourceFile(file), params); } - - + @SuppressWarnings("unchecked") private static <T extends ImagingParameters> BufferedImage getBufferedImage(final ByteSource byteSource, T params) throws ImageReadException, IOException { // TODO: better generics or redesign API - @SuppressWarnings("unchecked") final ImageParser<T> imageParser = (ImageParser<T>) getImageParser(byteSource); + if (params == null) { + ImageFormat format = Imaging.guessFormat(byteSource); + params = (T) format.createImagingParameters(); + } return imageParser.getBufferedImage(byteSource, params); } @@ -1444,6 +1464,7 @@ public final class Imaging { * provide this data. * @param src a valid BufferedImage object * @param file the file to which the output image is to be written + * @param format the format in which the output image is to be written * @param params optional parameters * @throws ImageWriteException in the event of a format violation, * unsupported image format, etc. @@ -1451,11 +1472,11 @@ public final class Imaging { * @see ImagingConstants */ public static void writeImage(final BufferedImage src, final File file, - final ImagingParameters params) throws ImageWriteException, + final ImageFormat format, final ImagingParameters params) throws ImageWriteException, IOException { try (FileOutputStream fos = new FileOutputStream(file); BufferedOutputStream os = new BufferedOutputStream(fos)) { - writeImage(src, os, params); + writeImage(src, os, format, params); } } @@ -1475,6 +1496,7 @@ public final class Imaging { * image info, metadata and ICC profiles from all image formats that * provide this data. * @param src a valid BufferedImage object + * @param format the format in which the output image is to be written * @param params optional parameters * @return if successful, a valid array of bytes. * @throws ImageWriteException in the event of a format violation, @@ -1483,11 +1505,11 @@ public final class Imaging { * @see ImagingConstants */ public static byte[] writeImageToBytes(final BufferedImage src, - final ImagingParameters params) throws ImageWriteException, + final ImageFormat format, final ImagingParameters params) throws ImageWriteException, IOException { final ByteArrayOutputStream os = new ByteArrayOutputStream(); - writeImage(src, os, params); + writeImage(src, os, format, params); return os.toByteArray(); } @@ -1508,6 +1530,7 @@ public final class Imaging { * provide this data. * @param src a valid BufferedImage object * @param os the OutputStream to which the output image is to be written + * @param format the format in which the output image is to be written * @param params optional parameters * @throws ImageWriteException in the event of a format violation, * unsupported image format, etc. @@ -1517,20 +1540,22 @@ public final class Imaging { // TODO: fix generics due to ImageParser retrieved via getAllImageParsers, and the given ImagingParameters type @SuppressWarnings({ "unchecked", "rawtypes" }) public static void writeImage(final BufferedImage src, final OutputStream os, - ImagingParameters params) throws ImageWriteException, + final ImageFormat format, ImagingParameters params) throws ImageWriteException, IOException { - Objects.requireNonNull(params, "You must provide a valid imaging parameters object."); final ImageParser<?>[] imageParsers = ImageParser.getAllImageParsers(); + if (params == null) { + params = format.createImagingParameters(); + } ImageParser imageParser = null; for (final ImageParser<?> imageParser2 : imageParsers) { - if (imageParser2.canAcceptType(params.getImageFormat())) { + if (imageParser2.canAcceptType(format)) { imageParser = imageParser2; break; } } if (imageParser == null) { - throw new ImageWriteException("Unknown Format: " + params.getImageFormat()); + throw new ImageWriteException("Unknown Format: " + format); } imageParser.writeImage(src, os, params); } diff --git a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java index 01938ac..f00d4fd 100644 --- a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java @@ -53,8 +53,8 @@ public class BmpImageParser extends ImageParser<BmpImagingParameters> { private static final Logger LOGGER = Logger.getLogger(BmpImageParser.class.getName()); - private static final String DEFAULT_EXTENSION = ".bmp"; - private static final String[] ACCEPTED_EXTENSIONS = { DEFAULT_EXTENSION, }; + private static final String DEFAULT_EXTENSION = ImageFormats.BMP.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.BMP.getExtensions(); private static final byte[] BMP_HEADER_SIGNATURE = { 0x42, 0x4d, }; private static final int BI_RGB = 0; private static final int BI_RLE4 = 2; diff --git a/src/main/java/org/apache/commons/imaging/formats/dcx/DcxImageParser.java b/src/main/java/org/apache/commons/imaging/formats/dcx/DcxImageParser.java index 607f635..c26a2f7 100644 --- a/src/main/java/org/apache/commons/imaging/formats/dcx/DcxImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/dcx/DcxImageParser.java @@ -42,10 +42,9 @@ import org.apache.commons.imaging.formats.pcx.PcxImageParser; import org.apache.commons.imaging.formats.pcx.PcxImagingParameters; public class DcxImageParser extends ImageParser<PcxImagingParameters> { - private static final ImageFormat imageFormat = ImageFormats.DCX; // See http://www.fileformat.fine/format/pcx/egff.htm for documentation - private static final String DEFAULT_EXTENSION = imageFormat.getDefaultExtension(); - private static final String[] ACCEPTED_EXTENSIONS = imageFormat.getExtensions(); + private static final String DEFAULT_EXTENSION = ImageFormats.DCX.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.DCX.getExtensions(); public DcxImageParser() { super.setByteOrder(ByteOrder.LITTLE_ENDIAN); diff --git a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java index 92c4d03..3a2c606 100644 --- a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java @@ -59,8 +59,8 @@ public class GifImageParser extends ImageParser<GifImagingParameters> implements private static final Logger LOGGER = Logger.getLogger(GifImageParser.class.getName()); - private static final String DEFAULT_EXTENSION = ".gif"; - private static final String[] ACCEPTED_EXTENSIONS = { DEFAULT_EXTENSION, }; + private static final String DEFAULT_EXTENSION = ImageFormats.GIF.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.GIF.getExtensions(); private static final byte[] GIF_HEADER_SIGNATURE = { 71, 73, 70 }; private static final int EXTENSION_CODE = 0x21; private static final int IMAGE_SEPARATOR = 0x2C; diff --git a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java index 9cb7d63..2673386 100644 --- a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java @@ -41,8 +41,8 @@ import org.apache.commons.imaging.common.bytesource.ByteSource; public class IcnsImageParser extends ImageParser<IcnsImagingParameters> { static final int ICNS_MAGIC = IcnsType.typeAsInt("icns"); - private static final String DEFAULT_EXTENSION = ".icns"; - private static final String[] ACCEPTED_EXTENSIONS = { ".icns", }; + private static final String DEFAULT_EXTENSION = ImageFormats.ICNS.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.ICNS.getExtensions(); public IcnsImageParser() { super.setByteOrder(ByteOrder.BIG_ENDIAN); diff --git a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java index d6a4bd7..416f55f 100644 --- a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java @@ -49,8 +49,8 @@ import org.apache.commons.imaging.palette.PaletteFactory; import org.apache.commons.imaging.palette.SimplePalette; public class IcoImageParser extends ImageParser<IcoImagingParameters> { - private static final String DEFAULT_EXTENSION = ".ico"; - private static final String[] ACCEPTED_EXTENSIONS = { ".ico", ".cur", }; + private static final String DEFAULT_EXTENSION = ImageFormats.ICO.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.ICO.getExtensions(); public IcoImageParser() { super.setByteOrder(ByteOrder.LITTLE_ENDIAN); diff --git a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java index b7e446f..b0d82a3 100644 --- a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java @@ -66,8 +66,8 @@ public class JpegImageParser extends ImageParser<JpegImagingParameters> implemen private static final Logger LOGGER = Logger.getLogger(JpegImageParser.class.getName()); - private static final String DEFAULT_EXTENSION = ".jpg"; - private static final String[] ACCEPTED_EXTENSIONS = { ".jpg", ".jpeg", }; + private static final String DEFAULT_EXTENSION = ImageFormats.JPEG.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.JPEG.getExtensions(); public JpegImageParser() { setByteOrder(ByteOrder.BIG_ENDIAN); diff --git a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java index 42b8a7b..7dced55 100644 --- a/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/pcx/PcxImageParser.java @@ -62,8 +62,8 @@ public class PcxImageParser extends ImageParser<PcxImagingParameters> { // don't support uncompressed PCX, and/or don't handle black and white // images properly. - private static final String DEFAULT_EXTENSION = ".pcx"; - private static final String[] ACCEPTED_EXTENSIONS = { ".pcx", ".pcc", }; + private static final String DEFAULT_EXTENSION = ImageFormats.PCX.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.PCX.getExtensions(); public PcxImageParser() { super.setByteOrder(ByteOrder.LITTLE_ENDIAN); diff --git a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java index 1632ecc..19d63f2 100644 --- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java @@ -74,8 +74,8 @@ public class PngImageParser extends ImageParser<PngImagingParameters> implement private static final Logger LOGGER = Logger.getLogger(PngImageParser.class.getName()); - private static final String DEFAULT_EXTENSION = ".png"; - private static final String[] ACCEPTED_EXTENSIONS = { DEFAULT_EXTENSION, }; + private static final String DEFAULT_EXTENSION = ImageFormats.PNG.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.PNG.getExtensions(); @Override public String getName() { diff --git a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java index c51f581..2e0113e 100644 --- a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java @@ -41,9 +41,14 @@ import org.apache.commons.imaging.common.bytesource.ByteSource; import org.apache.commons.imaging.palette.PaletteFactory; public class PnmImageParser extends ImageParser<PnmImagingParameters> { - private static final String DEFAULT_EXTENSION = ".pnm"; - private static final String[] ACCEPTED_EXTENSIONS = { ".pbm", ".pgm", - ".ppm", ".pnm", ".pam" }; + private static final String DEFAULT_EXTENSION = ImageFormats.PNM.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = { + ImageFormats.PAM.getDefaultExtension(), + ImageFormats.PBM.getDefaultExtension(), + ImageFormats.PGM.getDefaultExtension(), + ImageFormats.PNM.getDefaultExtension(), + ImageFormats.PPM.getDefaultExtension() + }; public PnmImageParser() { super.setByteOrder(ByteOrder.LITTLE_ENDIAN); diff --git a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java index 8267470..4d40c66 100644 --- a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java @@ -55,8 +55,8 @@ import org.apache.commons.imaging.formats.psd.datareaders.DataReader; import org.apache.commons.imaging.formats.psd.datareaders.UncompressedDataReader; public class PsdImageParser extends ImageParser<PsdImagingParameters> implements XmpEmbeddable { - private static final String DEFAULT_EXTENSION = ".psd"; - private static final String[] ACCEPTED_EXTENSIONS = { DEFAULT_EXTENSION, }; + private static final String DEFAULT_EXTENSION = ImageFormats.PSD.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.PSD.getExtensions(); private static final int PSD_SECTION_HEADER = 0; private static final int PSD_SECTION_COLOR_MODE = 1; private static final int PSD_SECTION_IMAGE_RESOURCES = 2; diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java index ee2c7f4..4e2d0f2 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java @@ -65,8 +65,8 @@ import org.apache.commons.imaging.formats.tiff.photometricinterpreters.Photometr import org.apache.commons.imaging.formats.tiff.write.TiffImageWriterLossy; public class TiffImageParser extends ImageParser<TiffImagingParameters> implements XmpEmbeddable { - private static final String DEFAULT_EXTENSION = ".tif"; - private static final String[] ACCEPTED_EXTENSIONS = { ".tif", ".tiff", }; + private static final String DEFAULT_EXTENSION = ImageFormats.TIFF.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.TIFF.getExtensions(); @Override public String getName() { @@ -92,7 +92,6 @@ public class TiffImageParser extends ImageParser<TiffImagingParameters> implemen @Override public byte[] getICCProfileBytes(final ByteSource byteSource, final TiffImagingParameters params) throws ImageReadException, IOException { - final FormatCompliance formatCompliance = FormatCompliance.getDefault(); final TiffContents contents = new TiffReader(params != null ? params.isStrict() : false).readFirstDirectory( byteSource, false, formatCompliance); diff --git a/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java b/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java index d71ab43..372a4b9 100644 --- a/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/wbmp/WbmpImageParser.java @@ -41,8 +41,8 @@ import org.apache.commons.imaging.common.ImageMetadata; import org.apache.commons.imaging.common.bytesource.ByteSource; public class WbmpImageParser extends ImageParser<WbmpImagingParameters> { - private static final String DEFAULT_EXTENSION = ".wbmp"; - private static final String[] ACCEPTED_EXTENSIONS = { ".wbmp", }; + private static final String DEFAULT_EXTENSION = ImageFormats.WBMP.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.WBMP.getExtensions(); @Override public String getName() { diff --git a/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java b/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java index 51113de..cf89430 100644 --- a/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/xbm/XbmImageParser.java @@ -47,8 +47,8 @@ import org.apache.commons.imaging.common.ImageMetadata; import org.apache.commons.imaging.common.bytesource.ByteSource; public class XbmImageParser extends ImageParser<XbmImagingParameters> { - private static final String DEFAULT_EXTENSION = ".xbm"; - private static final String[] ACCEPTED_EXTENSIONS = { ".xbm", }; + private static final String DEFAULT_EXTENSION = ImageFormats.XBM.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.XBM.getExtensions(); @Override public String getName() { diff --git a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java index 24ccf4c..77490de 100644 --- a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java +++ b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java @@ -52,8 +52,8 @@ import org.apache.commons.imaging.palette.PaletteFactory; import org.apache.commons.imaging.palette.SimplePalette; public class XpmImageParser extends ImageParser<XpmImagingParameters> { - private static final String DEFAULT_EXTENSION = ".xpm"; - private static final String[] ACCEPTED_EXTENSIONS = { ".xpm", }; + private static final String DEFAULT_EXTENSION = ImageFormats.XPM.getDefaultExtension(); + private static final String[] ACCEPTED_EXTENSIONS = ImageFormats.XPM.getExtensions(); private static Map<String, Integer> colorNames; private static final char[] WRITE_PALETTE = { ' ', '.', 'X', 'o', 'O', '+', '@', '#', '$', '%', '&', '*', '=', '-', ';', ':', '>', ',', '<', diff --git a/src/test/java/org/apache/commons/imaging/examples/ImageWriteExample.java b/src/test/java/org/apache/commons/imaging/examples/ImageWriteExample.java index aefc017..d035777 100644 --- a/src/test/java/org/apache/commons/imaging/examples/ImageWriteExample.java +++ b/src/test/java/org/apache/commons/imaging/examples/ImageWriteExample.java @@ -20,6 +20,7 @@ import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache.commons.imaging.Imaging; @@ -36,7 +37,7 @@ public class ImageWriteExample { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_UNCOMPRESSED); - return Imaging.writeImageToBytes(image, params); + return Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); } } diff --git a/src/test/java/org/apache/commons/imaging/examples/SampleUsage.java b/src/test/java/org/apache/commons/imaging/examples/SampleUsage.java index 40a43c8..9405def 100644 --- a/src/test/java/org/apache/commons/imaging/examples/SampleUsage.java +++ b/src/test/java/org/apache/commons/imaging/examples/SampleUsage.java @@ -67,10 +67,10 @@ public class SampleUsage { final File dst = someFile; final ImageFormat format = ImageFormats.PNG; final PngImagingParameters optionalParams = new PngImagingParameters(); - Imaging.writeImage(image, dst, optionalParams); + Imaging.writeImage(image, dst, format, optionalParams); final OutputStream os = someOutputStream; - Imaging.writeImage(image, os, optionalParams); + Imaging.writeImage(image, os, format, optionalParams); // <b>get the image's embedded ICC Profile, if it has one. </b> final byte[] iccProfileBytes = Imaging.getICCProfileBytes(imageBytes); diff --git a/src/test/java/org/apache/commons/imaging/formats/bmp/BmpRoundtripTest.java b/src/test/java/org/apache/commons/imaging/formats/bmp/BmpRoundtripTest.java index 20139e6..b1fdaf8 100644 --- a/src/test/java/org/apache/commons/imaging/formats/bmp/BmpRoundtripTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/bmp/BmpRoundtripTest.java @@ -25,6 +25,7 @@ import java.io.File; import java.io.IOException; import java.util.Random; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache.commons.imaging.Imaging; @@ -143,7 +144,7 @@ public class BmpRoundtripTest extends BmpBaseTest { // writeParams.put(PngConstants.PARAM_KEY_BMP_FORCE_TRUE_COLOR, // Boolean.TRUE); - final byte[] bytes = Imaging.writeImageToBytes(srcImage, writeParams); + final byte[] bytes = Imaging.writeImageToBytes(srcImage, ImageFormats.BMP, writeParams); // Debug.debug("bytes", bytes); diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java index 1859e50..2d7259b 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/exif/MicrosoftTagTest.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache.commons.imaging.Imaging; @@ -58,7 +59,7 @@ public class MicrosoftTagTest extends ExifBaseTest { root.add(MicrosoftTagConstants.EXIF_TAG_XPTITLE, TITLE); final TiffImagingParameters params = new TiffImagingParameters(); params.setExif(exifSet); - final byte[] bytes = Imaging.writeImageToBytes(image, params); + final byte[] bytes = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); checkFields(bytes); } diff --git a/src/test/java/org/apache/commons/imaging/formats/png/ConvertPngToGifTest.java b/src/test/java/org/apache/commons/imaging/formats/png/ConvertPngToGifTest.java index 30e8a47..36ff62a 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/ConvertPngToGifTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/ConvertPngToGifTest.java @@ -23,6 +23,7 @@ import java.awt.image.BufferedImage; import java.io.File; import java.util.List; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.Imaging; import org.apache.commons.imaging.formats.gif.GifImagingParameters; import org.apache.commons.imaging.internal.Debug; @@ -49,7 +50,7 @@ public class ConvertPngToGifTest extends PngBaseTest { final File outFile = File.createTempFile(imageFile.getName() + ".", ".gif"); final GifImagingParameters gifParams = new GifImagingParameters(); - Imaging.writeImage(image, outFile, gifParams); + Imaging.writeImage(image, outFile, ImageFormats.GIF, gifParams); } Debug.debug("complete."); } diff --git a/src/test/java/org/apache/commons/imaging/formats/png/PngMultipleRoundtripTest.java b/src/test/java/org/apache/commons/imaging/formats/png/PngMultipleRoundtripTest.java index d224fab..6117532 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/PngMultipleRoundtripTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/PngMultipleRoundtripTest.java @@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.awt.image.BufferedImage; import java.io.File; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.Imaging; import org.apache.commons.imaging.internal.Debug; import org.apache.commons.io.FilenameUtils; @@ -62,7 +63,7 @@ public class PngMultipleRoundtripTest extends PngBaseTest { Debug.debug("tempFile", tempFile); final PngImagingParameters writeParams = new PngImagingParameters(); - Imaging.writeImage(image, tempFile, writeParams); + Imaging.writeImage(image, tempFile, ImageFormats.PNG, writeParams); lastFile = tempFile; } diff --git a/src/test/java/org/apache/commons/imaging/formats/png/PngTextTest.java b/src/test/java/org/apache/commons/imaging/formats/png/PngTextTest.java index b590dad..2b219e1 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/PngTextTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/PngTextTest.java @@ -27,6 +27,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.Imaging; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; @@ -65,7 +66,7 @@ public class PngTextTest extends PngBaseTest { writeParams.setTextChunks(writeTexts); - final byte[] bytes = Imaging.writeImageToBytes(srcImage, writeParams); + final byte[] bytes = Imaging.writeImageToBytes(srcImage, ImageFormats.PNG, writeParams); final File tempFile = File.createTempFile("temp", ".png"); FileUtils.writeByteArrayToFile(tempFile, bytes); diff --git a/src/test/java/org/apache/commons/imaging/formats/png/PngWriteForceTrueColorText.java b/src/test/java/org/apache/commons/imaging/formats/png/PngWriteForceTrueColorText.java index 609e1be..65809e0 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/PngWriteForceTrueColorText.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/PngWriteForceTrueColorText.java @@ -23,6 +23,7 @@ import java.awt.image.BufferedImage; import java.io.File; import java.util.List; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.Imaging; import org.apache.commons.imaging.internal.Debug; import org.junit.jupiter.api.Test; @@ -54,7 +55,7 @@ public class PngWriteForceTrueColorText extends PngBaseTest { final PngImagingParameters params = new PngImagingParameters(); params.setForceTrueColor(Boolean.TRUE); - Imaging.writeImage(image, outFile, params); + Imaging.writeImage(image, outFile, ImageFormats.PNG, params); final BufferedImage image2 = Imaging.getBufferedImage(outFile, new PngImagingParameters()); assertNotNull(image2); diff --git a/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java b/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java index 51d1695..d679537 100644 --- a/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/png/PngWriteReadTest.java @@ -29,6 +29,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache.commons.imaging.Imaging; @@ -106,7 +107,7 @@ public class PngWriteReadTest extends ImagingTest { public void testTransparency() throws Exception { // Test for https://issues.apache.org/jira/browse/SANSELAN-52 final int[][] smallAscendingPixels = getAscendingRawData(256, 256); - final byte[] pngBytes = Imaging.writeImageToBytes(imageDataToBufferedImage(smallAscendingPixels), new PngImagingParameters()); + final byte[] pngBytes = Imaging.writeImageToBytes(imageDataToBufferedImage(smallAscendingPixels), ImageFormats.PNG, new PngImagingParameters()); assertTrue(Imaging.getImageInfo(pngBytes).isTransparent()); } @@ -116,7 +117,7 @@ public class PngWriteReadTest extends ImagingTest { optionalParams.setPhysicalScale(PhysicalScale.createFromMeters(0.01, 0.02)); final int[][] smallAscendingPixels = getAscendingRawData(256, 256); - final byte[] pngBytes = Imaging.writeImageToBytes(imageDataToBufferedImage(smallAscendingPixels), optionalParams); + final byte[] pngBytes = Imaging.writeImageToBytes(imageDataToBufferedImage(smallAscendingPixels), ImageFormats.PNG, optionalParams); final PngImageInfo imageInfo = (PngImageInfo) Imaging.getImageInfo(pngBytes); final PhysicalScale physicalScale = imageInfo.getPhysicalScale(); assertTrue(physicalScale.isInMeters()); @@ -130,7 +131,7 @@ public class PngWriteReadTest extends ImagingTest { optionalParams.setPhysicalScale(PhysicalScale.createFromRadians(0.01, 0.02)); final int[][] smallAscendingPixels = getAscendingRawData(256, 256); - final byte[] pngBytes = Imaging.writeImageToBytes(imageDataToBufferedImage(smallAscendingPixels), optionalParams); + final byte[] pngBytes = Imaging.writeImageToBytes(imageDataToBufferedImage(smallAscendingPixels), ImageFormats.PNG, optionalParams); final PngImageInfo imageInfo = (PngImageInfo) Imaging.getImageInfo(pngBytes); final PhysicalScale physicalScale = imageInfo.getPhysicalScale(); assertTrue(physicalScale.isInRadians()); @@ -174,7 +175,7 @@ public class PngWriteReadTest extends ImagingTest { // writeParams.put(PngConstants.PARAM_KEY_PNG_FORCE_TRUE_COLOR, // Boolean.TRUE); - final byte[] bytes = Imaging.writeImageToBytes(srcImage, writeParams); + final byte[] bytes = Imaging.writeImageToBytes(srcImage, ImageFormats.PNG, writeParams); // Debug.debug("bytes", bytes); @@ -201,7 +202,7 @@ public class PngWriteReadTest extends ImagingTest { final PngImagingParameters writeParams = new PngImagingParameters(); writeParams.setTextChunks(textChunks); - final byte[] bytes = Imaging.writeImageToBytes(srcImage, writeParams); + final byte[] bytes = Imaging.writeImageToBytes(srcImage, ImageFormats.PNG, writeParams); // Debug.debug("bytes", bytes); diff --git a/src/test/java/org/apache/commons/imaging/formats/pnm/PnmImageParserTest.java b/src/test/java/org/apache/commons/imaging/formats/pnm/PnmImageParserTest.java index 3f73f19..b03af4f 100644 --- a/src/test/java/org/apache/commons/imaging/formats/pnm/PnmImageParserTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/pnm/PnmImageParserTest.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageInfo; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; @@ -55,7 +56,7 @@ public class PnmImageParserTest { final PnmImagingParameters params = new PnmImagingParameters(); params.setRawBits(Boolean.TRUE); - final byte[] dstBytes = Imaging.writeImageToBytes(srcImage, params); + final byte[] dstBytes = Imaging.writeImageToBytes(srcImage, ImageFormats.PNM, params); final BufferedImage dstImage = Imaging.getBufferedImage(dstBytes); assertEquals(srcImage.getWidth(), dstImage.getWidth()); diff --git a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java index a51ed31..6c72f6b 100644 --- a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffAlphaRoundTripTest.java @@ -29,6 +29,7 @@ import java.io.FileOutputStream; import java.nio.ByteOrder; import java.nio.file.Path; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.Imaging; import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants; import org.apache.commons.imaging.formats.tiff.write.TiffImageWriterLossy; @@ -80,7 +81,7 @@ public class TiffAlphaRoundTripTest { // correctness of a round-trip test. final File file = new File(tempDir.toFile(), "TiffAlphaRoundTripTest.tif"); file.delete(); - Imaging.writeImage(image0, file, new TiffImagingParameters()); + Imaging.writeImage(image0, file, ImageFormats.TIFF, new TiffImagingParameters()); final BufferedImage image1 = Imaging.getBufferedImage(file); // Step 2: create a composite image overlaying a white background diff --git a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java index 567b4d5..6f54a5f 100644 --- a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffCcittTest.java @@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.fail; import java.awt.image.BufferedImage; import java.io.IOException; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache.commons.imaging.Imaging; @@ -159,7 +160,7 @@ public class TiffCcittTest extends TiffBaseTest { try { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_CCITT_1D); - final byte[] compressed = Imaging.writeImageToBytes(image, params); + final byte[] compressed = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); final BufferedImage result = Imaging.getBufferedImage(compressed); compareImages(image, result); } catch (final ImageWriteException | ImageReadException | IOException ex) { @@ -171,7 +172,7 @@ public class TiffCcittTest extends TiffBaseTest { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_CCITT_GROUP_3); params.setT4Options(0); - final byte[] compressed = Imaging.writeImageToBytes(image, params); + final byte[] compressed = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); final BufferedImage result = Imaging.getBufferedImage(compressed); compareImages(image, result); } catch (final ImageWriteException | ImageReadException | IOException ex) { @@ -183,7 +184,7 @@ public class TiffCcittTest extends TiffBaseTest { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_CCITT_GROUP_3); params.setT4Options(4); - final byte[] compressed = Imaging.writeImageToBytes(image, params); + final byte[] compressed = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); final BufferedImage result = Imaging.getBufferedImage(compressed); compareImages(image, result); } catch (final ImageWriteException | ImageReadException | IOException ex) { @@ -195,7 +196,7 @@ public class TiffCcittTest extends TiffBaseTest { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_CCITT_GROUP_3); params.setT4Options(1); - final byte[] compressed = Imaging.writeImageToBytes(image, params); + final byte[] compressed = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); final BufferedImage result = Imaging.getBufferedImage(compressed); compareImages(image, result); } catch (final ImageWriteException | ImageReadException | IOException ex) { @@ -207,7 +208,7 @@ public class TiffCcittTest extends TiffBaseTest { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_CCITT_GROUP_3); params.setT4Options(5); - final byte[] compressed = Imaging.writeImageToBytes(image, params); + final byte[] compressed = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); final BufferedImage result = Imaging.getBufferedImage(compressed); compareImages(image, result); } catch (final ImageWriteException | ImageReadException | IOException ex) { @@ -218,7 +219,7 @@ public class TiffCcittTest extends TiffBaseTest { try { final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(TiffConstants.TIFF_COMPRESSION_CCITT_GROUP_4); - final byte[] compressed = Imaging.writeImageToBytes(image, params); + final byte[] compressed = Imaging.writeImageToBytes(image, ImageFormats.TIFF, params); final BufferedImage result = Imaging.getBufferedImage(compressed); compareImages(image, result); } catch (final ImageWriteException | ImageReadException | IOException ex) { diff --git a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java index 0e585c8..c2535a2 100644 --- a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffRoundtripTest.java @@ -23,6 +23,7 @@ import java.awt.image.BufferedImage; import java.io.File; import java.util.List; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageInfo; import org.apache.commons.imaging.Imaging; import org.apache.commons.imaging.common.ImageMetadata; @@ -58,7 +59,7 @@ public class TiffRoundtripTest extends TiffBaseTest { final File tempFile = File.createTempFile(imageFile.getName() + "-" + compression + ".", ".tif"); final TiffImagingParameters params = new TiffImagingParameters(); params.setCompression(compression); - Imaging.writeImage(image, tempFile, params); + Imaging.writeImage(image, tempFile, ImageFormats.TIFF, params); final BufferedImage image2 = Imaging.getBufferedImage(tempFile); assertNotNull(image2); } diff --git a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffSubImageTest.java b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffSubImageTest.java index 5b7e8af..9316f35 100644 --- a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffSubImageTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffSubImageTest.java @@ -24,6 +24,7 @@ import java.io.File; import java.io.IOException; import java.util.List; +import org.apache.commons.imaging.ImageFormats; import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache.commons.imaging.Imaging; @@ -40,7 +41,7 @@ public class TiffSubImageTest extends TiffBaseTest { public void testSubImage() throws ImageReadException, ImageWriteException, IOException { final BufferedImage src = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); final TiffImagingParameters params = new TiffImagingParameters(); - final byte[] imageBytes = Imaging.writeImageToBytes(src, params); + final byte[] imageBytes = Imaging.writeImageToBytes(src, ImageFormats.TIFF, params); params.setSubImageX(0); params.setSubImageY(0); params.setSubImageWidth(2); diff --git a/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java b/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java index 69574b9..ca30736 100644 --- a/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java +++ b/src/test/java/org/apache/commons/imaging/formats/xmp/XmpUpdateTest.java @@ -77,7 +77,7 @@ public class XmpUpdateTest extends ImagingTest { // ---- params.setXmpXml(xmpXml); - Imaging.writeImage(image, tempFile, params); + Imaging.writeImage(image, tempFile, imageFormat, params); final String xmpXmlOut = Imaging.getXmpXml(tempFile); diff --git a/src/test/java/org/apache/commons/imaging/roundtrip/NullParametersRoundtripTest.java b/src/test/java/org/apache/commons/imaging/roundtrip/NullParametersRoundtripTest.java index a3e02c4..10fbe3c 100644 --- a/src/test/java/org/apache/commons/imaging/roundtrip/NullParametersRoundtripTest.java +++ b/src/test/java/org/apache/commons/imaging/roundtrip/NullParametersRoundtripTest.java @@ -38,7 +38,7 @@ public class NullParametersRoundtripTest extends RoundtripBase { public void testNullParametersRoundtrip(final FormatInfo formatInfo) throws Exception { final BufferedImage testImage = TestImages.createFullColorImage(1, 1); final File temp1 = File.createTempFile("nullParameters.", "." + formatInfo.format.getDefaultExtension()); - Imaging.writeImage(testImage, temp1, null); + Imaging.writeImage(testImage, temp1, formatInfo.format, null); Imaging.getImageInfo(temp1, null); Imaging.getImageSize(temp1, null); Imaging.getMetadata(temp1, null); diff --git a/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java b/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java index 3e88dbe..aa4e14e 100644 --- a/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java +++ b/src/test/java/org/apache/commons/imaging/roundtrip/PixelDensityRoundtrip.java @@ -48,7 +48,7 @@ public class PixelDensityRoundtrip extends RoundtripBase { params.setImageFormat(formatInfo.format); final PixelDensity pixelDensity = PixelDensity.createFromPixelsPerInch(75, 150); params.setPixelDensity(pixelDensity); - Imaging.writeImage(testImage, temp1, params); + Imaging.writeImage(testImage, temp1, formatInfo.format, params); final ImageInfo imageInfo = Imaging.getImageInfo(temp1); if (imageInfo != null) { diff --git a/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java b/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java index 1905155..ec782b3 100644 --- a/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java +++ b/src/test/java/org/apache/commons/imaging/roundtrip/RoundtripBase.java @@ -40,11 +40,11 @@ public class RoundtripBase { + formatInfo.format.getDefaultExtension()); Debug.debug("tempFile: " + temp1.getName()); - final ImagingParameters params = new ImagingParameters(); + final ImagingParameters params = formatInfo.format.createImagingParameters(); params.setImageFormat(formatInfo.format); - Imaging.writeImage(testImage, temp1, params); + Imaging.writeImage(testImage, temp1, formatInfo.format, params); - final ImagingParameters readParams = new ImagingParameters(); + final ImagingParameters readParams = formatInfo.format.createImagingParameters(); readParams.setBufferedImageFactory(new RgbBufferedImageFactory()); final BufferedImage image2 = Imaging.getBufferedImage(temp1, readParams); assertNotNull(image2); @@ -58,7 +58,7 @@ public class RoundtripBase { if (formatInfo.identicalSecondWrite) { final File temp2 = File.createTempFile(tempPrefix + ".", "." + formatInfo.format.getDefaultExtension()); - Imaging.writeImage(image2, temp2, params); + Imaging.writeImage(image2, temp2, formatInfo.format, params); ImageAsserts.assertEquals(temp1, temp2); }