You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ki...@apache.org on 2022/01/16 02:03:08 UTC
[commons-imaging] 08/24: [IMAGING-159] Need to pass a format to some Imaging as we don't have the parameters. Fix remaining unit tests
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);
}