Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static IIOMetadata getWriteMD(ImageWriter writer, ImageWriteParam param)
- throws IIOInvalidTreeException {
- ImageTypeSpecifier typeSpecifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_RGB);
- IIOMetadata metadata = writer.getDefaultImageMetadata(typeSpecifier, param);
- if (metadata.isReadOnly() || !metadata.isStandardMetadataFormatSupported()) {
- return null;
- }
- TIFFDirectory dir = TIFFDirectory.createFromMetadata(metadata);
- BaselineTIFFTagSet base = BaselineTIFFTagSet.getInstance();
- // getting the tags
- TIFFTag resUnit = base.getTag(BaselineTIFFTagSet.TAG_RESOLUTION_UNIT);
- TIFFTag tagXRes = base.getTag(BaselineTIFFTagSet.TAG_X_RESOLUTION);
- TIFFTag tagYRes = base.getTag(BaselineTIFFTagSet.TAG_Y_RESOLUTION);
- TIFFTag photoInterp = base.getTag(BaselineTIFFTagSet.TAG_PHOTOMETRIC_INTERPRETATION);
- // (300 x 300 DPI)
- TIFFField fieldXRes = new TIFFField(tagXRes, TIFFTag.TIFF_RATIONAL, 1, new long[][] {{300, 1}});
- TIFFField fieldYRes = new TIFFField(tagYRes, TIFFTag.TIFF_RATIONAL, 1, new long[][] {{300, 1}});
- TIFFField fieldResUnit = new TIFFField(resUnit,BaselineTIFFTagSet.RESOLUTION_UNIT_INCH);
- // doesn't work
- dir.removeTIFFField(photoInterp.getNumber());
- TIFFField fieldPhotoInter = new TIFFField(photoInterp, BaselineTIFFTagSet.PHOTOMETRIC_INTERPRETATION_RGB);
- // writing to tiffdir
- dir.addTIFFField(fieldXRes);
- dir.addTIFFField(fieldYRes);
- dir.addTIFFField(fieldResUnit);
- dir.addTIFFField(fieldPhotoInter);
- return dir.getAsMetadata();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement