com.drew.metadata.exif.makernotes.NikonPictureControl2Descriptor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of metadata-extractor Show documentation
Show all versions of metadata-extractor Show documentation
Java library for extracting EXIF, IPTC, XMP, ICC and other metadata from image and video files.
The newest version!
package com.drew.metadata.exif.makernotes;
import com.drew.metadata.TagDescriptor;
import static com.drew.metadata.exif.makernotes.NikonPictureControl2Directory.TAG_FILTER_EFFECT;
import static com.drew.metadata.exif.makernotes.NikonPictureControl2Directory.TAG_PICTURE_CONTROL_ADJUST;
import static com.drew.metadata.exif.makernotes.NikonPictureControl2Directory.TAG_TONING_EFFECT;
public final class NikonPictureControl2Descriptor extends TagDescriptor
{
public NikonPictureControl2Descriptor(NikonPictureControl2Directory directory)
{
super(directory);
}
@Override
public String getDescription(int tagType)
{
switch (tagType) {
case TAG_PICTURE_CONTROL_ADJUST:
return getPictureControlAdjustDescription();
case TAG_FILTER_EFFECT:
return getFilterEffectDescription();
case TAG_TONING_EFFECT:
return getToningEffectDescription();
default:
return super.getDescription(tagType);
}
}
public String getPictureControlAdjustDescription()
{
return getIndexedDescription(
TAG_PICTURE_CONTROL_ADJUST,
"Default Settings",
"Quick Adjust",
"Full Control"
);
}
public String getFilterEffectDescription()
{
byte[] value = _directory.getByteArray(TAG_FILTER_EFFECT);
if (value == null) {
return null;
}
switch (value[0]) {
case (byte) 0x80:
return "Off";
case (byte) 0x81:
return "Yellow";
case (byte) 0x82:
return "Orange";
case (byte) 0x83:
return "Red";
case (byte) 0x84:
return "Green";
case (byte) 0xFF:
return "N/A";
default:
return super.getDescription(TAG_FILTER_EFFECT);
}
}
public String getToningEffectDescription()
{
byte[] value = _directory.getByteArray(TAG_TONING_EFFECT);
if (value == null) {
return null;
}
switch (value[0]) {
case (byte) 0x80:
return "B&W";
case (byte) 0x81:
return "Sepia";
case (byte) 0x82:
return "Cyanotype";
case (byte) 0x83:
return "Red";
case (byte) 0x84:
return "Yellow";
case (byte) 0x85:
return "Green";
case (byte) 0x86:
return "Blue-green";
case (byte) 0x87:
return "Blue";
case (byte) 0x88:
return "Purple-blue";
case (byte) 0x89:
return "Red-purple";
case (byte) 0xFF:
return "N/A";
default:
return super.getDescription(TAG_TONING_EFFECT);
}
}
}