use of javax.imageio.metadata.IIOMetadata in project jdk8u_jdk by JetBrains.
the class CompressionModeTest method doTest.
private static void doTest(int mode) {
String fileFormat = "bmp";
try {
ImageWriter iw = (ImageWriter) ImageIO.getImageWritersBySuffix(fileFormat).next();
if (iw == null) {
throw new RuntimeException("No available image writer for " + fileFormat + " Test failed.");
}
File file = new File("image." + fileFormat);
ImageOutputStream ios = ImageIO.createImageOutputStream(file);
iw.setOutput(ios);
BufferedImage bimg = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
Graphics g = bimg.getGraphics();
g.setColor(Color.green);
g.fillRect(0, 0, 100, 100);
ImageWriteParam param = iw.getDefaultWriteParam();
param.setCompressionMode(mode);
IIOMetadata meta = iw.getDefaultImageMetadata(new ImageTypeSpecifier(bimg), param);
IIOImage iioImg = new IIOImage(bimg, null, meta);
iw.write(null, iioImg, param);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("Test failed.");
}
}
use of javax.imageio.metadata.IIOMetadata in project jdk8u_jdk by JetBrains.
the class AnimationTest method main.
public static void main(String[] args) {
try {
AnimationTest t = new AnimationTest();
t.initFrame();
ImageWriter w = t.initWriter();
ImageWriteParam p = w.getDefaultWriteParam();
IIOMetadata streamMetadata = w.getDefaultStreamMetadata(p);
w.prepareWriteSequence(streamMetadata);
for (int i = 0; i < 50; i++) {
BufferedImage f = t.createNextFrame();
ImageTypeSpecifier type = new ImageTypeSpecifier(f);
IIOMetadata m = w.getDefaultImageMetadata(type, p);
w.writeToSequence(new IIOImage(f, null, m), p);
}
w.endWriteSequence();
t.checkAnimation();
} catch (Exception e) {
throw new RuntimeException("Test failed.", e);
}
}
use of javax.imageio.metadata.IIOMetadata in project jdk8u_jdk by JetBrains.
the class EmptyInputBmpMetadataTest method main.
public static void main(String[] args) {
boolean isPassed = false;
ImageReader ir = (ImageReader) ImageIO.getImageReadersByFormatName(fmt).next();
if (ir == null) {
throw new RuntimeException("No available reader for " + fmt);
}
IIOMetadata meta = null;
try {
meta = ir.getImageMetadata(0);
} catch (IllegalStateException e) {
System.out.println("Correct exception was thrown. Test passed.");
isPassed = true;
} catch (IOException e) {
e.printStackTrace();
}
if (!isPassed) {
throw new RuntimeException("The IllegalStateException was not thrown." + "Test failed.");
}
}
use of javax.imageio.metadata.IIOMetadata in project jdk8u_jdk by JetBrains.
the class NoExtraBytesTest method checkColorDepth.
private void checkColorDepth() {
IIOMetadata dst = iio_dst.getMetadata();
Node data = dst.getAsTree("javax_imageio_bmp_1.0");
Node n = data.getFirstChild();
while (n != null && !("BitsPerPixel".equals(n.getNodeName()))) {
System.out.println("Node " + n.getNodeName());
n = n.getNextSibling();
}
if (n == null) {
throw new RuntimeException("No BitsPerSample node!");
}
int bpp = 0;
String value = n.getNodeValue();
System.out.println("value = " + value);
try {
bpp = Integer.parseInt(value);
} catch (NumberFormatException e) {
throw new RuntimeException("Wrong bpp value: " + value, e);
}
if (bpp != this.expectedColorDepth) {
throw new RuntimeException("Wrong color depth: " + bpp + " (should be " + this.expectedColorDepth + ")");
}
}
use of javax.imageio.metadata.IIOMetadata in project jdk8u_jdk by JetBrains.
the class RasterWithMinXTest method main.
public static void main(String[] args) {
String format = "jpeg";
// Set output file.
ImageOutputStream output = new MemoryCacheImageOutputStream(new ByteArrayOutputStream());
// Create image.
BufferedImage bi = new BufferedImage(256, 256, BufferedImage.TYPE_3BYTE_BGR);
// Populate image.
int[] rgbArray = new int[256];
for (int i = 0; i < 256; i++) {
Arrays.fill(rgbArray, i);
bi.setRGB(0, i, 256, 1, rgbArray, 0, 256);
}
// create translated raster in order to get non-zero minX and minY
WritableRaster r = (WritableRaster) bi.getRaster().createTranslatedChild(64, 64);
Iterator i = ImageIO.getImageWritersByFormatName(format);
ImageWriter iw = null;
while (i.hasNext() && iw == null) {
Object o = i.next();
if (o instanceof com.sun.imageio.plugins.jpeg.JPEGImageWriter) {
iw = (ImageWriter) o;
}
}
if (iw == null) {
throw new RuntimeException("No available image writer");
}
ImageWriteParam iwp = iw.getDefaultWriteParam();
IIOMetadata metadata = iw.getDefaultImageMetadata(new ImageTypeSpecifier(bi.getColorModel(), r.getSampleModel()), iwp);
IIOImage img = new IIOImage(r, null, metadata);
iw.setOutput(output);
try {
iw.write(img);
} catch (RasterFormatException e) {
e.printStackTrace();
throw new RuntimeException("RasterException occurs. Test Failed!");
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException("Unexpected Exception");
}
// test case of theImageWriteParam with non-null sourceRegion
iwp.setSourceRegion(new Rectangle(32, 32, 192, 192));
metadata = iw.getDefaultImageMetadata(new ImageTypeSpecifier(bi.getColorModel(), r.getSampleModel()), iwp);
try {
iw.write(metadata, img, iwp);
} catch (RasterFormatException e) {
e.printStackTrace();
throw new RuntimeException("SetSourceRegion causes the RasterException. Test Failed!");
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException("Unexpected Exception");
}
}
Aggregations