41 |
import javax.imageio.metadata.IIOMetadata; |
import javax.imageio.metadata.IIOMetadata; |
42 |
|
|
43 |
/** |
/** |
44 |
|
* An ImageTranscoder translates IIOMetadata objects provided by an |
45 |
|
* ImageReader into corresponding IIOMetadata objects that can be |
46 |
|
* understood by a given ImageWriter. |
47 |
|
* |
48 |
|
* Usually an ImageWriter will implement ImageTranscoder directly in |
49 |
|
* which case the conversion methods will return IIOMetadata objects |
50 |
|
* appropriate for this ImageWriter. |
51 |
|
* |
52 |
|
* Independent transcoders are also allowed; they must have knowledge |
53 |
|
* of both the source IIOMetadata provided by the reader and the |
54 |
|
* returned IIOMetadata expected by the writer. |
55 |
|
* |
56 |
* @author Michael Koch (konqueror@gmx.de) |
* @author Michael Koch (konqueror@gmx.de) |
57 |
*/ |
*/ |
58 |
public interface ImageTranscoder |
public interface ImageTranscoder |
59 |
{ |
{ |
60 |
|
/** |
61 |
|
* Converts IIOMetadata from an input reader format, returning an |
62 |
|
* IIOMetadata suitable for use by an image writer. |
63 |
|
* |
64 |
|
* The ImageTypeSpecifier specifies the destination image type. |
65 |
|
* |
66 |
|
* An optional ImageWriteParam argument is available in case the |
67 |
|
* image writing parameters affect the metadata conversion. |
68 |
|
* |
69 |
|
* @param inData the metadata coming from an image reader |
70 |
|
* @param imageType the output image type of the writer |
71 |
|
* @param param the image writing parameters or null |
72 |
|
* |
73 |
|
* @return the converted metadata that should be used by the image |
74 |
|
* writer, or null if this ImageTranscoder has no knowledge of the |
75 |
|
* input metadata |
76 |
|
* |
77 |
|
* @exception IllegalArgumentException if either inData or imageType |
78 |
|
* is null |
79 |
|
*/ |
80 |
IIOMetadata convertImageMetadata(IIOMetadata inData, |
IIOMetadata convertImageMetadata(IIOMetadata inData, |
81 |
ImageTypeSpecifier imageType, |
ImageTypeSpecifier imageType, |
82 |
ImageWriteParam param); |
ImageWriteParam param); |
83 |
|
|
84 |
|
/** |
85 |
|
* Converts IIOMetadata from an input stream format, returning an |
86 |
|
* IIOMetadata suitable for use by an image writer. |
87 |
|
* |
88 |
|
* An optional ImageWriteParam argument is available in case the |
89 |
|
* image writing parameters affect the metadata conversion. |
90 |
|
* |
91 |
|
* @param inData the metadata coming from an input image stream |
92 |
|
* @param param the image writing parameters or null |
93 |
|
* |
94 |
|
* @return the converted metadata that should be used by the image |
95 |
|
* writer, or null if this ImageTranscoder has no knowledge of the |
96 |
|
* input metadata |
97 |
|
* |
98 |
|
* @exception IllegalArgumentException if inData is null |
99 |
|
*/ |
100 |
IIOMetadata convertStreamMetadata(IIOMetadata inData, |
IIOMetadata convertStreamMetadata(IIOMetadata inData, |
101 |
ImageWriteParam param); |
ImageWriteParam param); |
102 |
} |
} |