📄 canonmakernotedescriptor.java
字号:
}
}
public String getShortFocalLengthDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_SHORT_FOCAL_LENGTH)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_SHORT_FOCAL_LENGTH);
String units = getFocalUnitsPerMillimetreDescription();
return Integer.toString(value) + " " + units;
}
public String getLongFocalLengthDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_LONG_FOCAL_LENGTH)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_LONG_FOCAL_LENGTH);
String units = getFocalUnitsPerMillimetreDescription();
return Integer.toString(value) + " " + units;
}
public String getExposureModeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_EXPOSURE_MODE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_EXPOSURE_MODE);
switch (value) {
case 0:
return "Easy shooting";
case 1:
return "Program";
case 2:
return "Tv-priority";
case 3:
return "Av-priority";
case 4:
return "Manual";
case 5:
return "A-DEP";
default:
return "Unknown (" + value + ")";
}
}
public String getAfPointSelectedDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_AF_POINT_SELECTED)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_AF_POINT_SELECTED);
switch (value) {
case 0x3000:
return "None (MF)";
case 0x3001:
return "Auto selected";
case 0x3002:
return "Right";
case 0x3003:
return "Centre";
case 0x3004:
return "Left";
default:
return "Unknown (" + value + ")";
}
}
public String getMeteringModeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_METERING_MODE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_METERING_MODE);
switch (value) {
case 3:
return "Evaluative";
case 4:
return "Partial";
case 5:
return "Centre weighted";
default:
return "Unknown (" + value + ")";
}
}
public String getIsoDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_ISO)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_ISO);
switch (value) {
case 0:
return "Not specified (see ISOSpeedRatings tag)";
case 15:
return "Auto";
case 16:
return "50";
case 17:
return "100";
case 18:
return "200";
case 19:
return "400";
default:
return "Unknown (" + value + ")";
}
}
public String getSharpnessDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_SHARPNESS)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_SHARPNESS);
switch (value) {
case 0xFFFF:
return "Low";
case 0x000:
return "Normal";
case 0x001:
return "High";
default:
return "Unknown (" + value + ")";
}
}
public String getSaturationDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_SATURATION)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_SATURATION);
switch (value) {
case 0xFFFF:
return "Low";
case 0x000:
return "Normal";
case 0x001:
return "High";
default:
return "Unknown (" + value + ")";
}
}
public String getContrastDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_CONTRAST)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_CONTRAST);
switch (value) {
case 0xFFFF:
return "Low";
case 0x000:
return "Normal";
case 0x001:
return "High";
default:
return "Unknown (" + value + ")";
}
}
public String getEasyShootingModeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_EASY_SHOOTING_MODE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_EASY_SHOOTING_MODE);
switch (value) {
case 0:
return "Full auto";
case 1:
return "Manual";
case 2:
return "Landscape";
case 3:
return "Fast shutter";
case 4:
return "Slow shutter";
case 5:
return "Night";
case 6:
return "B&W";
case 7:
return "Sepia";
case 8:
return "Portrait";
case 9:
return "Sports";
case 10:
return "Macro / Closeup";
case 11:
return "Pan focus";
default:
return "Unknown (" + value + ")";
}
}
public String getImageSizeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_IMAGE_SIZE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_IMAGE_SIZE);
switch (value) {
case 0:
return "Large";
case 1:
return "Medium";
case 2:
return "Small";
default:
return "Unknown (" + value + ")";
}
}
public String getFocusMode1Description() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_FOCUS_MODE_1)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_FOCUS_MODE_1);
switch (value) {
case 0:
return "One-shot";
case 1:
return "AI Servo";
case 2:
return "AI Focus";
case 3:
return "Manual Focus";
case 4:
// TODO should check field 32 here (FOCUS_MODE_2)
return "Single";
case 5:
return "Continuous";
case 6:
return "Manual Focus";
default:
return "Unknown (" + value + ")";
}
}
public String getContinuousDriveModeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_CONTINUOUS_DRIVE_MODE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_CONTINUOUS_DRIVE_MODE);
switch (value) {
case 0:
if (_directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_SELF_TIMER_DELAY) == 0) {
return "Single shot";
} else {
return "Single shot with self-timer";
}
case 1:
return "Continuous";
default:
return "Unknown (" + value + ")";
}
}
public String getFlashModeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_FLASH_MODE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_FLASH_MODE);
switch (value) {
case 0:
return "No flash fired";
case 1:
return "Auto";
case 2:
return "On";
case 3:
return "Red-eye reduction";
case 4:
return "Slow-synchro";
case 5:
return "Auto and red-eye reduction";
case 6:
return "On and red-eye reduction";
case 16:
// note: this value not set on Canon D30
return "Extenal flash";
default:
return "Unknown (" + value + ")";
}
}
public String getSelfTimerDelayDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_SELF_TIMER_DELAY)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_SELF_TIMER_DELAY);
if (value == 0) {
return "Self timer not used";
} else {
// TODO find an image that tests this calculation
return Double.toString((double)value * 0.1d) + " sec";
}
}
public String getMacroModeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_MACRO_MODE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_MACRO_MODE);
switch (value) {
case 1:
return "Macro";
case 2:
return "Normal";
default:
return "Unknown (" + value + ")";
}
}
public String getQualityDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_QUALITY)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_QUALITY);
switch (value) {
case 2:
return "Normal";
case 3:
return "Fine";
case 5:
return "Superfine";
default:
return "Unknown (" + value + ")";
}
}
public String getDigitalZoomDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_DIGITAL_ZOOM)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_DIGITAL_ZOOM);
switch (value) {
case 0:
return "No digital zoom";
case 1:
return "2x";
case 2:
return "4x";
default:
return "Unknown (" + value + ")";
}
}
public String getFocusTypeDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_FOCUS_TYPE)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_FOCUS_TYPE);
switch (value) {
case 0:
return "Manual";
case 1:
return "Auto";
case 3:
return "Close-up (Macro)";
case 8:
return "Locked (Pan Mode)";
default:
return "Unknown (" + value + ")";
}
}
public String getFlashActivityDescription() throws MetadataException
{
if (!_directory.containsTag(CanonMakernoteDirectory.TAG_CANON_STATE1_FLASH_ACTIVITY)) return null;
int value = _directory.getInt(CanonMakernoteDirectory.TAG_CANON_STATE1_FLASH_ACTIVITY);
switch (value) {
case 0:
return "Flash did not fire";
case 1:
return "Flash fired";
default:
return "Unknown (" + value + ")";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -