/*
 * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.sun.javafx.iio;

A class containing a limited number of relatively important metadata fields. A null-valued field indicates that the metadata field has not been set.
/** * A class containing a limited number of relatively important metadata fields. * A <code>null</code>-valued field indicates that the metadata field has not * been set. */
public class ImageMetadata {
The image gamma.
/** * The image gamma. */
public final Float gamma;
true if smaller values represent darker shades.
/** * <code>true</code> if smaller values represent darker shades. */
public final Boolean blackIsZero;
A palette index to be used as a background.
/** * A palette index to be used as a background. */
public final Integer backgroundIndex;
An RGB color to be used as a background.
/** * An RGB color to be used as a background. */
public final Integer backgroundColor;
The amount of time to wait (in milliseconds) before continuing to process the data stream.
/** * The amount of time to wait (in milliseconds) before continuing * to process the data stream. */
public final Integer delayTime;
The amount of times to loop the animation, zero or null if the animation should loop endlessly.
/** * The amount of times to loop the animation, zero or null if the animation * should loop endlessly. */
public final Integer loopCount;
A palette index to be used for transparent pixels.
/** * A palette index to be used for transparent pixels. */
public final Integer transparentIndex;
The width of of the image.
/** * The width of of the image. */
public final Integer imageWidth;
The height of the image.
/** * The height of the image. */
public final Integer imageHeight;
The X offset of the image relative to the screen origin. Note: This is applicable to GIF image only.
/** * The X offset of the image relative to the screen origin. * Note: This is applicable to GIF image only. */
public final Integer imageLeftPosition;
The Y offset of the image relative to the screen origin. Note: This is applicable to GIF image only.
/** * The Y offset of the image relative to the screen origin. * Note: This is applicable to GIF image only. */
public final Integer imageTopPosition;
The disposal method for the image. Note: This is applicable to GIF image only.
/** * The disposal method for the image. * Note: This is applicable to GIF image only. */
public final Integer disposalMethod;
Params:
  • gamma – the image gamma
  • blackIsZero – whether smaller values represent darker shades
  • backgroundIndex – a palette index to use as background
  • backgroundColor – the color to be used as background. The color format, in Integer, is packed as ARGB with 8 bits per channel.
  • delayTime – the amount of time to pause at the current image (milliseconds).
  • loopCount – the amount of times to loop the animation (zero for infinite loop).
  • transparentIndex – a palette index to be used as transparency.
/** * * @param gamma the image gamma * @param blackIsZero whether smaller values represent darker shades * @param backgroundIndex a palette index to use as background * @param backgroundColor the color to be used as background. * The color format, in Integer, is packed as ARGB with 8 bits per channel. * @param delayTime the amount of time to pause at the current image * (milliseconds). * @param loopCount the amount of times to loop the animation * (zero for infinite loop). * @param transparentIndex a palette index to be used as transparency. */
public ImageMetadata(Float gamma, Boolean blackIsZero, Integer backgroundIndex, Integer backgroundColor, Integer transparentIndex, Integer delayTime, Integer loopCount, Integer imageWidth, Integer imageHeight, Integer imageLeftPosition, Integer imageTopPosition, Integer disposalMethod) { this.gamma = gamma; this.blackIsZero = blackIsZero; this.backgroundIndex = backgroundIndex; this.backgroundColor = backgroundColor; this.transparentIndex = transparentIndex; this.delayTime = delayTime; this.loopCount = loopCount; this.imageWidth = imageWidth; this.imageHeight = imageHeight; this.imageLeftPosition = imageLeftPosition; this.imageTopPosition = imageTopPosition; this.disposalMethod = disposalMethod; } @Override public String toString() { StringBuffer sb = new StringBuffer("["+getClass().getName()); if (gamma != null) { sb.append(" gamma: " + gamma); } if (blackIsZero != null) { sb.append(" blackIsZero: " + blackIsZero); } if (backgroundIndex != null) { sb.append(" backgroundIndex: " + backgroundIndex); } if (backgroundColor != null) { sb.append(" backgroundColor: " + backgroundColor); } if (delayTime != null) { sb.append(" delayTime: " + delayTime); } if (loopCount != null) { sb.append(" loopCount: " + loopCount); } if (transparentIndex != null) { sb.append(" transparentIndex: " + transparentIndex); } if (imageWidth != null) { sb.append(" imageWidth: " + imageWidth); } if (imageHeight != null) { sb.append(" imageHeight: " + imageHeight); } if (imageLeftPosition != null) { sb.append(" imageLeftPosition: " + imageLeftPosition); } if (imageTopPosition != null) { sb.append(" imageTopPosition: " + imageTopPosition); } if (disposalMethod != null) { sb.append(" disposalMethod: " + disposalMethod); } sb.append("]"); return sb.toString(); } }