Changeset 13061 in josm for trunk/src/com/drew/metadata/exif/makernotes/OlympusCameraSettingsMakernoteDescriptor.java
- Timestamp:
- 2017-10-30T22:46:09+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/drew/metadata/exif/makernotes/OlympusCameraSettingsMakernoteDescriptor.java
r10862 r13061 41 41 * @author Drew Noakes https://drewnoakes.com 42 42 */ 43 @SuppressWarnings("WeakerAccess") 43 44 public class OlympusCameraSettingsMakernoteDescriptor extends TagDescriptor<OlympusCameraSettingsMakernoteDirectory> 44 45 { … … 143 144 case TagArtFilterEffect: 144 145 return getArtFilterEffectDescription(); 146 case TagColorCreatorEffect: 147 return getColorCreatorEffectDescription(); 145 148 146 149 case TagDriveMode: … … 407 410 int p4 = (int)(values[index + 3].doubleValue() * 100); 408 411 412 if(p1 + p2 + p3 + p4 == 0) 413 return "n/a"; 414 409 415 return String.format("(%d%%,%d%%) (%d%%,%d%%)", p1, p2, p3, p4); 410 411 416 } 412 417 … … 1019 1024 StringBuilder sb = new StringBuilder(); 1020 1025 for (int i = 0; i < values.length; i++) { 1021 if (i == 1) 1022 sb.append("Highlights "); 1023 else if (i == 5) 1024 sb.append("Shadows "); 1025 1026 sb.append(values[i]).append("; "); 1026 if (i == 0 || i == 4 || i == 8 || i == 12 || i == 16 || i == 20 || i == 24) 1027 sb.append(_toneLevelType.get(values[i])).append("; "); 1028 else 1029 sb.append(values[i]).append("; "); 1027 1030 } 1028 1031 … … 1034 1037 { 1035 1038 int[] values = _directory.getIntArray(TagArtFilterEffect); 1036 if (values == null || values.length == 0)1039 if (values == null) 1037 1040 return null; 1038 1041 … … 1040 1043 for (int i = 0; i < values.length; i++) { 1041 1044 if (i == 0) { 1042 sb.append((_filters.containsKey(values[i]) ? _filters.get(values[i]) : "[unknown]")); 1045 sb.append((_filters.containsKey(values[i]) ? _filters.get(values[i]) : "[unknown]")).append("; "); 1046 } else if (i == 3) { 1047 sb.append("Partial Color ").append(values[i]).append("; "); 1043 1048 } else if (i == 4) { 1044 1049 switch (values[i]) { … … 1068 1073 break; 1069 1074 } 1075 sb.append("; "); 1076 } else if (i == 6) { 1077 switch (values[i]) { 1078 case 0: 1079 sb.append("No Color Filter"); 1080 break; 1081 case 1: 1082 sb.append("Yellow Color Filter"); 1083 break; 1084 case 2: 1085 sb.append("Orange Color Filter"); 1086 break; 1087 case 3: 1088 sb.append("Red Color Filter"); 1089 break; 1090 case 4: 1091 sb.append("Green Color Filter"); 1092 break; 1093 default: 1094 sb.append("Unknown (").append(values[i]).append(")"); 1095 break; 1096 } 1097 sb.append("; "); 1070 1098 } else { 1071 sb.append(values[i]); 1099 sb.append(values[i]).append("; "); 1072 1100 } 1073 sb.append("; "); 1101 } 1102 1103 return sb.substring(0, sb.length() - 2); 1104 } 1105 1106 @Nullable 1107 public String getColorCreatorEffectDescription() 1108 { 1109 int[] values = _directory.getIntArray(TagColorCreatorEffect); 1110 if (values == null) 1111 return null; 1112 1113 StringBuilder sb = new StringBuilder(); 1114 for (int i = 0; i < values.length; i++) { 1115 if (i == 0) { 1116 sb.append("Color ").append(values[i]).append("; "); 1117 } else if (i == 3) { 1118 sb.append("Strength ").append(values[i]).append("; "); 1119 } else { 1120 sb.append(values[i]).append("; "); 1121 } 1074 1122 } 1075 1123 … … 1294 1342 } 1295 1343 1344 @Nullable 1296 1345 private String getFiltersDescription(int tagId) 1297 1346 { … … 1312 1361 } 1313 1362 1363 private static final HashMap<Integer, String> _toneLevelType = new HashMap<Integer, String>(); 1314 1364 // ArtFilter, ArtFilterEffect and MagicFilter values 1315 1365 private static final HashMap<Integer, String> _filters = new HashMap<Integer, String>(); … … 1354 1404 _filters.put(40, "Partial Color II"); 1355 1405 _filters.put(41, "Partial Color III"); 1406 1407 _toneLevelType.put(0, "0"); 1408 _toneLevelType.put(-31999, "Highlights "); 1409 _toneLevelType.put(-31998, "Shadows "); 1410 _toneLevelType.put(-31997, "Midtones "); 1356 1411 } 1357 1412 }
Note:
See TracChangeset
for help on using the changeset viewer.