2008-10-21 14:00:00 +00:00
|
|
|
/*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
|
|
* this work for additional information regarding copyright ownership.
|
|
|
|
* The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
* (the "License"); you may not use this file except in compliance with
|
|
|
|
* the License. You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* @author Rustem V. Rafikov
|
|
|
|
* @version $Revision: 1.3 $
|
|
|
|
*/
|
2008-12-18 02:05:43 +00:00
|
|
|
|
2008-10-21 14:00:00 +00:00
|
|
|
package javax.imageio;
|
|
|
|
|
|
|
|
import javax.imageio.spi.ImageReaderSpi;
|
|
|
|
import javax.imageio.stream.ImageInputStream;
|
|
|
|
import javax.imageio.metadata.IIOMetadata;
|
|
|
|
import javax.imageio.event.IIOReadWarningListener;
|
|
|
|
import javax.imageio.event.IIOReadProgressListener;
|
|
|
|
import javax.imageio.event.IIOReadUpdateListener;
|
|
|
|
import java.util.Locale;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Iterator;
|
|
|
|
import java.util.Set;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.awt.image.BufferedImage;
|
|
|
|
import java.awt.image.Raster;
|
|
|
|
import java.awt.image.RenderedImage;
|
|
|
|
import java.awt.*;
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* The ImageReader class is an abstract class for decoding images. ImageReader
|
|
|
|
* objects are instantiated by the service provider interface, ImageReaderSpi
|
|
|
|
* class, for the specific format. ImageReaderSpi class should be registered
|
|
|
|
* with the IIORegistry, which uses them for format recognition and presentation
|
|
|
|
* of available format readers and writers.
|
|
|
|
*
|
|
|
|
* @since Android 1.0
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract class ImageReader {
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The originating provider.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected ImageReaderSpi originatingProvider;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The input object such as ImageInputStream.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected Object input;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The seek forward only.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected boolean seekForwardOnly;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The ignore metadata flag indicates whether current input source has been
|
|
|
|
* marked as metadata is allowed to be ignored by setInput.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected boolean ignoreMetadata;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The minimum index.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected int minIndex;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The available locales.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected Locale[] availableLocales;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The locale.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected Locale locale;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The list of warning listeners.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected List<IIOReadWarningListener> warningListeners;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The list of warning locales.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected List<Locale> warningLocales;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The list of progress listeners.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected List<IIOReadProgressListener> progressListeners;
|
|
|
|
|
2008-12-18 02:05:43 +00:00
|
|
|
/**
|
|
|
|
* The list of update listeners.
|
|
|
|
*/
|
2008-10-21 14:00:00 +00:00
|
|
|
protected List<IIOReadUpdateListener> updateListeners;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Instantiates a new ImageReader.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param originatingProvider
|
|
|
|
* the ImageReaderSpi which instantiates this ImageReader.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected ImageReader(ImageReaderSpi originatingProvider) {
|
|
|
|
this.originatingProvider = originatingProvider;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the format name of this input source.
|
|
|
|
*
|
|
|
|
* @return the format name of this input source.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public String getFormatName() throws IOException {
|
|
|
|
return originatingProvider.getFormatNames()[0];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets the ImageReaderSpi which instantiated this ImageReader.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
|
|
|
* @return the ImageReaderSpi.
|
|
|
|
*/
|
|
|
|
public ImageReaderSpi getOriginatingProvider() {
|
|
|
|
return originatingProvider;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Sets the specified Object as the input source of this ImageReader.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param input
|
|
|
|
* the input source, it can be an ImageInputStream or other
|
|
|
|
* supported objects.
|
|
|
|
* @param seekForwardOnly
|
|
|
|
* indicates whether the stream must be read sequentially from
|
|
|
|
* its current starting point.
|
|
|
|
* @param ignoreMetadata
|
|
|
|
* parameter which indicates if metadata may be ignored during
|
|
|
|
* reads or not.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
|
|
|
|
if (input != null) {
|
|
|
|
if (!isSupported(input) && !(input instanceof ImageInputStream)) {
|
|
|
|
throw new IllegalArgumentException("input " + input + " is not supported");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.minIndex = 0;
|
|
|
|
this.seekForwardOnly = seekForwardOnly;
|
|
|
|
this.ignoreMetadata = ignoreMetadata;
|
|
|
|
this.input = input;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks if is supported.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param input
|
|
|
|
* the input.
|
|
|
|
* @return true, if is supported.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
private boolean isSupported(Object input) {
|
|
|
|
ImageReaderSpi spi = getOriginatingProvider();
|
|
|
|
if (null != spi) {
|
|
|
|
Class[] outTypes = spi.getInputTypes();
|
|
|
|
for (Class<?> element : outTypes) {
|
|
|
|
if (element.isInstance(input)) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the specified Object as the input source of this ImageReader.
|
|
|
|
* Metadata is not ignored.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param input
|
|
|
|
* the input source, it can be an ImageInputStream or other
|
|
|
|
* supported objects.
|
|
|
|
* @param seekForwardOnly
|
|
|
|
* indicates whether the stream must be read sequentially from
|
|
|
|
* its current starting point.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void setInput(Object input, boolean seekForwardOnly) {
|
|
|
|
setInput(input, seekForwardOnly, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the specified Object as the input source of this ImageReader.
|
|
|
|
* Metadata is not ignored and forward seeking is not required.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param input
|
|
|
|
* the input source, it can be ImageInputStream or other objects.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void setInput(Object input) {
|
|
|
|
setInput(input, false, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the input source object of this ImageReader, or returns null.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return the input source object such as ImageInputStream, or null.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public Object getInput() {
|
|
|
|
return input;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks if the input source supports only forward reading, or not.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return true, if the input source supports only forward reading, false
|
|
|
|
* otherwise.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean isSeekForwardOnly() {
|
|
|
|
return seekForwardOnly;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Returns true if the current input source allows to metadata to be ignored
|
|
|
|
* by passing true as the ignoreMetadata argument to the setInput method.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return true, if the current input source allows to metadata to be
|
|
|
|
* ignored by passing true as the ignoreMetadata argument to the
|
|
|
|
* setInput method.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean isIgnoringMetadata() {
|
|
|
|
return ignoreMetadata;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets the minimum valid index for reading an image, thumbnail, or image
|
|
|
|
* metadata.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return the minimum valid index for reading an image, thumbnail, or image
|
|
|
|
* metadata.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getMinIndex() {
|
|
|
|
return minIndex;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the available locales.
|
|
|
|
*
|
|
|
|
* @return an array of the available locales.
|
|
|
|
*/
|
|
|
|
public Locale[] getAvailableLocales() {
|
|
|
|
return availableLocales;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the locale to this ImageReader.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param locale
|
|
|
|
* the Locale.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void setLocale(Locale locale) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the locale of this ImageReader.
|
|
|
|
*
|
|
|
|
* @return the locale of this ImageReader.
|
|
|
|
*/
|
|
|
|
public Locale getLocale() {
|
|
|
|
return locale;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the number of images available in the current input source.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param allowSearch
|
|
|
|
* the parameter which indicates what a search is required; if
|
|
|
|
* false, the reader may return -1 without searching.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the number of images.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract int getNumImages(boolean allowSearch) throws IOException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the width of the specified image in input source.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the width in pixels.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract int getWidth(int imageIndex) throws IOException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the height of the specified image in input source.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the height in pixels.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract int getHeight(int imageIndex) throws IOException;
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Checks if the storage format of the specified image places an impediment
|
|
|
|
* on random pixels access or not.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
|
|
|
* @return true, if the storage format of the specified image places an
|
|
|
|
* impediment on random pixels access, false otherwise.
|
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean isRandomAccessEasy(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return false; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the aspect ratio (width devided by height) of the image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the aspect ratio of the image.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public float getAspectRatio(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return (float)getWidth(imageIndex) / getHeight(imageIndex);
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets an ImageTypeSpecifier which indicates the type of the specified
|
|
|
|
* image.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the ImageTypeSpecifier.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets an Iterator of ImageTypeSpecifier objects which are associated with
|
|
|
|
* image types that may be used when decoding specified image.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return an Iterator of ImageTypeSpecifier objects.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the default ImageReadParam object.
|
|
|
|
*
|
|
|
|
* @return the ImageReadParam object.
|
|
|
|
*/
|
|
|
|
public ImageReadParam getDefaultReadParam() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets an IIOMetadata object for this input source.
|
|
|
|
*
|
|
|
|
* @return the IIOMetadata.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract IIOMetadata getStreamMetadata() throws IOException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets an IIOMetadata object for this input source.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param formatName
|
|
|
|
* the desired metadata format to be used in the returned
|
|
|
|
* IIOMetadata object.
|
|
|
|
* @param nodeNames
|
|
|
|
* the node names of the document.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the IIOMetadata.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames)
|
|
|
|
throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the image metadata of the specified image in input source.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the IIOMetadata.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the image metadata of the specified image input source.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param formatName
|
|
|
|
* the desired metadata format to be used in the returned
|
|
|
|
* IIOMetadata object.
|
|
|
|
* @param nodeNames
|
|
|
|
* the node names which can be contained in the document.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the IIOMetadata.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
2008-12-18 02:05:43 +00:00
|
|
|
public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames)
|
|
|
|
throws IOException {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads the specified image and returns it as a BufferedImage using the
|
|
|
|
* default ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the BufferedImage.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public BufferedImage read(int imageIndex) throws IOException {
|
|
|
|
return read(imageIndex, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads the specified image and returns it as a BufferedImage using the
|
|
|
|
* specified ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param param
|
|
|
|
* the ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the BufferedImage.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Reads the specified image and returns an IIOImage with this image,
|
2008-12-18 02:05:43 +00:00
|
|
|
* thumbnails, and metadata for this image, using the specified
|
|
|
|
* ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param param
|
|
|
|
* the ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the IIOImage.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public IIOImage readAll(int imageIndex, ImageReadParam param) throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Returns an Iterator of IIOImages from the input source.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param params
|
|
|
|
* the Iterator of ImageReadParam objects.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the iterator of IIOImages.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks whether or not this plug-in supports reading a Raster.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return true, if this plug-in supports reading a Raster, false otherwise.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean canReadRaster() {
|
2008-12-18 02:05:43 +00:00
|
|
|
return false; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads a new Raster object which contains the raw pixel data from the
|
|
|
|
* image.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param param
|
|
|
|
* the ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the Raster.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Unsupported");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks if the specified image has tiles or not.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
|
|
|
* @return true, if the specified image has tiles, false otherwise.
|
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean isImageTiled(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return false; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the tile width in the specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the tile width.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getTileWidth(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return getWidth(imageIndex); // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the tile height in the specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the tile height.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getTileHeight(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return getHeight(imageIndex); // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets the X coordinate of the upper left corner of the tile grid in the
|
2008-10-21 14:00:00 +00:00
|
|
|
* specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the X coordinate of the upper left corner of the tile grid.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getTileGridXOffset(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return 0; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets the Y coordinate of the upper left corner of the tile grid in the
|
2008-10-21 14:00:00 +00:00
|
|
|
* specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the Y coordinate of the upper left corner of the tile grid.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getTileGridYOffset(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return 0; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads the tile specified by the tileX and tileY parameters of the
|
|
|
|
* specified image and returns it as a BufferedImage.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param tileX
|
|
|
|
* the X index of tile.
|
|
|
|
* @param tileY
|
|
|
|
* the Y index of tile.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the BufferedImage.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads the tile specified by the tileX and tileY parameters of the
|
|
|
|
* specified image and returns it as a Raster.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param tileX
|
|
|
|
* the X index of tile.
|
|
|
|
* @param tileY
|
|
|
|
* the Y index of tile.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the Raster.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads the specified image using the specified ImageReadParam and returns
|
|
|
|
* it as a RenderedImage.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param param
|
|
|
|
* the ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the RenderedImage.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
2008-12-18 02:05:43 +00:00
|
|
|
public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param)
|
|
|
|
throws IOException {
|
2008-10-21 14:00:00 +00:00
|
|
|
return read(imageIndex, param);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Returns true if the image format supported by this reader supports
|
|
|
|
* thumbnail preview images.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return true, if the image format supported by this reader supports
|
|
|
|
* thumbnail preview images, false otherwise.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean readerSupportsThumbnails() {
|
2008-12-18 02:05:43 +00:00
|
|
|
return false; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks if the specified image has thumbnails or not.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
|
|
|
* @return true, if the specified image has thumbnails, false otherwise.
|
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public boolean hasThumbnails(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return getNumThumbnails(imageIndex) > 0; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the number of thumbnails for the specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the number of thumbnails.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getNumThumbnails(int imageIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return 0; // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the width of the specified thumbnail for the specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
|
|
|
* @param thumbnailIndex
|
|
|
|
* the thumbnail's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the thumbnail width.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return readThumbnail(imageIndex, thumbnailIndex).getWidth(); // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the height of the specified thumbnail for the specified image.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image's index.
|
|
|
|
* @param thumbnailIndex
|
|
|
|
* the thumbnail's index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the thumbnail height.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
return readThumbnail(imageIndex, thumbnailIndex).getHeight(); // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Reads the thumbnail image for the specified image as a BufferedImage.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param thumbnailIndex
|
|
|
|
* the thumbnail index.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the BufferedImage.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IOException
|
|
|
|
* if an I/O exception has occurred.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException {
|
2008-12-18 02:05:43 +00:00
|
|
|
throw new UnsupportedOperationException("Unsupported"); // def
|
2008-10-21 14:00:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Requests an abort operation for current reading operation.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void abort() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Checks whether or not a request to abort the current read operation has
|
|
|
|
* been made successfully.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @return true, if the request to abort the current read operation has been
|
|
|
|
* made successfully, false otherwise.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected boolean abortRequested() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Clears all previous abort request, and abortRequested returns false after
|
|
|
|
* calling this method.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void clearAbortRequest() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds the IIOReadWarningListener.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param listener
|
|
|
|
* the IIOReadWarningListener.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void addIIOReadWarningListener(IIOReadWarningListener listener) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes the specified IIOReadWarningListener.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param listener
|
|
|
|
* the IIOReadWarningListener to be removed.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void removeIIOReadWarningListener(IIOReadWarningListener listener) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes all registered IIOReadWarningListeners.
|
|
|
|
*/
|
|
|
|
public void removeAllIIOReadWarningListeners() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds the IIOReadProgressListener.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param listener
|
|
|
|
* the IIOReadProgressListener.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void addIIOReadProgressListener(IIOReadProgressListener listener) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes the specified IIOReadProgressListener.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param listener
|
|
|
|
* the IIOReadProgressListener to be removed.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void removeIIOReadProgressListener(IIOReadProgressListener listener) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes registered IIOReadProgressListeners.
|
|
|
|
*/
|
|
|
|
public void removeAllIIOReadProgressListeners() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds the IIOReadUpdateListener.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param listener
|
|
|
|
* the IIOReadUpdateListener.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void addIIOReadUpdateListener(IIOReadUpdateListener listener) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes the specified IIOReadUpdateListener.
|
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param listener
|
|
|
|
* the IIOReadUpdateListener to be removed.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
public void removeIIOReadUpdateListener(IIOReadUpdateListener listener) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes registered IIOReadUpdateListeners.
|
|
|
|
*/
|
|
|
|
public void removeAllIIOReadUpdateListeners() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the start of an sequence of image reads by calling the
|
|
|
|
* sequenceStarted method on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param minIndex
|
|
|
|
* the minimum index.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processSequenceStarted(int minIndex) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the completion of an sequence of image reads by calling
|
|
|
|
* sequenceComplete method on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processSequenceComplete() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the start of an image read by calling the imageStarted method
|
|
|
|
* on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processImageStarted(int imageIndex) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the current percentage of image completion by calling the
|
|
|
|
* imageProgress method on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param percentageDone
|
|
|
|
* the percentage done.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processImageProgress(float percentageDone) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes image completion by calling the imageComplete method on all
|
|
|
|
* registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processImageComplete() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the start of a thumbnail read by calling the thumbnailStarted
|
|
|
|
* method on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param imageIndex
|
|
|
|
* the image index.
|
|
|
|
* @param thumbnailIndex
|
|
|
|
* the thumbnail index.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the current percentage of thumbnail completion by calling the
|
|
|
|
* thumbnailProgress method on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param percentageDone
|
|
|
|
* the percentage done.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processThumbnailProgress(float percentageDone) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the completion of a thumbnail read by calling the
|
|
|
|
* thumbnailComplete method on all registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processThumbnailComplete() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes a read aborted event by calling the readAborted method on all
|
|
|
|
* registered IIOReadProgressListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processReadAborted() {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the beginning of a progressive pass by calling the passStarted
|
|
|
|
* method on all registered IIOReadUpdateListeners.
|
|
|
|
*
|
|
|
|
* @param theImage
|
|
|
|
* the image to be updated.
|
|
|
|
* @param pass
|
|
|
|
* the current pass index.
|
|
|
|
* @param minPass
|
|
|
|
* the minimum pass index.
|
|
|
|
* @param maxPass
|
|
|
|
* the maximum pass index.
|
|
|
|
* @param minX
|
|
|
|
* the X coordinate of of the upper left pixel.
|
|
|
|
* @param minY
|
|
|
|
* the Y coordinate of of the upper left pixel.
|
|
|
|
* @param periodX
|
|
|
|
* the horizontal separation between pixels.
|
|
|
|
* @param periodY
|
|
|
|
* the vertical separation between pixels.
|
|
|
|
* @param bands
|
|
|
|
* the number of affected bands.
|
|
|
|
*/
|
|
|
|
protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass,
|
|
|
|
int minX, int minY, int periodX, int periodY, int[] bands) {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the update of a set of samples by calling the imageUpdate
|
|
|
|
* method on all registered IIOReadUpdateListeners.
|
|
|
|
*
|
|
|
|
* @param theImage
|
|
|
|
* the image to be updated.
|
|
|
|
* @param minX
|
|
|
|
* the X coordinate of the upper left pixel.
|
|
|
|
* @param minY
|
|
|
|
* the Y coordinate of the upper left pixel.
|
|
|
|
* @param width
|
|
|
|
* the width of updated area.
|
|
|
|
* @param height
|
|
|
|
* the height of updated area.
|
|
|
|
* @param periodX
|
|
|
|
* the horizontal separation between pixels.
|
|
|
|
* @param periodY
|
|
|
|
* the vertical separation between pixels.
|
|
|
|
* @param bands
|
|
|
|
* the number of affected bands.
|
|
|
|
*/
|
|
|
|
protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width,
|
|
|
|
int height, int periodX, int periodY, int[] bands) {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the end of a progressive pass by calling passComplete method of
|
|
|
|
* registered IIOReadUpdateListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param theImage
|
|
|
|
* the image to be updated.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processPassComplete(BufferedImage theImage) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the beginning of a thumbnail progressive pass by calling the
|
|
|
|
* thumbnailPassStarted method on all registered IIOReadUpdateListeners.
|
|
|
|
*
|
|
|
|
* @param theThumbnail
|
|
|
|
* the thumbnail to be updated.
|
|
|
|
* @param pass
|
|
|
|
* the current pass index.
|
|
|
|
* @param minPass
|
|
|
|
* the minimum pass index.
|
|
|
|
* @param maxPass
|
|
|
|
* the maximum pass index.
|
|
|
|
* @param minX
|
|
|
|
* the X coordinate of the upper left pixel.
|
|
|
|
* @param minY
|
|
|
|
* the Y coordinate of the upper left pixel.
|
|
|
|
* @param periodX
|
|
|
|
* the horizontal separation between pixels.
|
|
|
|
* @param periodY
|
|
|
|
* the vertical separation between pixels.
|
|
|
|
* @param bands
|
|
|
|
* the number of affected bands.
|
|
|
|
*/
|
|
|
|
protected void processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass,
|
|
|
|
int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the update of a set of samples in a thumbnail image by calling
|
|
|
|
* the thumbnailUpdate method on all registered IIOReadUpdateListeners.
|
|
|
|
*
|
|
|
|
* @param theThumbnail
|
|
|
|
* the thumbnail to be updated.
|
|
|
|
* @param minX
|
|
|
|
* the X coordinate of the upper left pixel.
|
|
|
|
* @param minY
|
|
|
|
* the Y coordinate of the upper left pixel.
|
|
|
|
* @param width
|
|
|
|
* the total width of the updated area.
|
|
|
|
* @param height
|
|
|
|
* the total height of the updated area.
|
|
|
|
* @param periodX
|
|
|
|
* the horizontal separation between pixels.
|
|
|
|
* @param periodY
|
|
|
|
* the vertical separation between pixels.
|
|
|
|
* @param bands
|
|
|
|
* the number of affected bands.
|
|
|
|
*/
|
|
|
|
protected void processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY,
|
|
|
|
int width, int height, int periodX, int periodY, int[] bands) {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes the end of a thumbnail progressive pass by calling the
|
|
|
|
* thumbnailPassComplete method on all registered IIOReadUpdateListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param theThumbnail
|
|
|
|
* the thumbnail to be updated.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processThumbnailPassComplete(BufferedImage theThumbnail) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes a warning message by calling warningOccurred method of
|
|
|
|
* registered IIOReadWarningListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param warning
|
|
|
|
* the warning.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processWarningOccurred(String warning) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Processes a warning by calling the warningOccurred method of on all
|
|
|
|
* registered IIOReadWarningListeners.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param baseName
|
|
|
|
* the base name of ResourceBundles.
|
|
|
|
* @param keyword
|
|
|
|
* the keyword to index the warning among ResourceBundles.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
|
|
|
protected void processWarningOccurred(String baseName, String keyword) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Resets this ImageReader.
|
|
|
|
*/
|
|
|
|
public void reset() {
|
|
|
|
// def
|
|
|
|
setInput(null, false);
|
|
|
|
setLocale(null);
|
|
|
|
removeAllIIOReadUpdateListeners();
|
|
|
|
removeAllIIOReadWarningListeners();
|
|
|
|
removeAllIIOReadProgressListeners();
|
|
|
|
clearAbortRequest();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Disposes of any resources.
|
|
|
|
*/
|
|
|
|
public void dispose() {
|
|
|
|
// do nothing by def
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets the region of source image that should be read with the specified
|
|
|
|
* width, height and ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param param
|
|
|
|
* the ImageReadParam object, or null.
|
|
|
|
* @param srcWidth
|
|
|
|
* the source image's width.
|
|
|
|
* @param srcHeight
|
|
|
|
* the source image's height.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the Rectangle of source region.
|
|
|
|
*/
|
|
|
|
protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight) {
|
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Computes the specified source region and the specified destination region
|
|
|
|
* with the specified the width and height of the source image, an optional
|
|
|
|
* destination image, and an ImageReadParam.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param param
|
|
|
|
* the an ImageReadParam object, or null.
|
|
|
|
* @param srcWidth
|
|
|
|
* the source image's width.
|
|
|
|
* @param srcHeight
|
|
|
|
* the source image's height.
|
|
|
|
* @param image
|
|
|
|
* the destination image.
|
|
|
|
* @param srcRegion
|
|
|
|
* the source region.
|
|
|
|
* @param destRegion
|
|
|
|
* the destination region.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
2008-12-18 02:05:43 +00:00
|
|
|
protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight,
|
|
|
|
BufferedImage image, Rectangle srcRegion, Rectangle destRegion) {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Checks the validity of the source and destination band and is called when
|
|
|
|
* the reader knows the number of bands of the source image and the number
|
|
|
|
* of bands of the destination image.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param param
|
|
|
|
* the ImageReadParam for reading the Image.
|
|
|
|
* @param numSrcBands
|
|
|
|
* the number of bands in the source.
|
|
|
|
* @param numDstBands
|
|
|
|
* the number of bands in the destination.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
2008-12-18 02:05:43 +00:00
|
|
|
protected static void checkReadParamBandSettings(ImageReadParam param, int numSrcBands,
|
|
|
|
int numDstBands) {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2008-12-18 02:05:43 +00:00
|
|
|
* Gets the destination image where the decoded data is written.
|
2008-10-21 14:00:00 +00:00
|
|
|
*
|
2008-12-18 02:05:43 +00:00
|
|
|
* @param param
|
|
|
|
* the ImageReadParam.
|
|
|
|
* @param imageTypes
|
|
|
|
* the iterator of ImageTypeSpecifier objects.
|
|
|
|
* @param width
|
|
|
|
* the width of the image being decoded.
|
|
|
|
* @param height
|
|
|
|
* the height of the image being decoded.
|
2008-10-21 14:00:00 +00:00
|
|
|
* @return the BufferedImage where decoded pixels should be written.
|
2008-12-18 02:05:43 +00:00
|
|
|
* @throws IIOException
|
|
|
|
* the IIOException is thrown if there is no suitable
|
|
|
|
* ImageTypeSpecifier.
|
2008-10-21 14:00:00 +00:00
|
|
|
*/
|
2008-12-18 02:05:43 +00:00
|
|
|
protected static BufferedImage getDestination(ImageReadParam param,
|
|
|
|
Iterator<ImageTypeSpecifier> imageTypes, int width, int height) throws IIOException {
|
2008-10-21 14:00:00 +00:00
|
|
|
throw new UnsupportedOperationException("Not implemented yet");
|
|
|
|
}
|
|
|
|
}
|