本文整理汇总了Java中org.apache.commons.imaging.formats.tiff.TiffImageMetadata类的典型用法代码示例。如果您正苦于以下问题:Java TiffImageMetadata类的具体用法?Java TiffImageMetadata怎么用?Java TiffImageMetadata使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TiffImageMetadata类属于org.apache.commons.imaging.formats.tiff包,在下文中一共展示了TiffImageMetadata类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: readGps
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private void readGps(JpegImageMetadata input, PhotoMetadata output) {
try {
TiffImageMetadata tiffData = input.getExif();
if (tiffData == null) {
LOGGER.debug("failed reading GPS since metadata contains no Exif");
return;
}
TiffImageMetadata.GPSInfo gps = input.getExif().getGPS();
if (gps == null) {
LOGGER.debug("metadata contains no GPS");
return;
}
output.setLatitude(gps.getLatitudeAsDegreesNorth());
output.setLongitude(gps.getLongitudeAsDegreesEast());
LOGGER.debug("read GPS as longitude {} and latitude {}", output.getLongitude(),
output.getLatitude());
} catch (ImageReadException ex) {
LOGGER.warn("failed reading GPS data");
}
}
开发者ID:travelimg,项目名称:travelimg,代码行数:21,代码来源:JpegSerializer.java
示例2: getTiffValueDate
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private LocalDateTime getTiffValueDate(final TiffImageMetadata tiffMetadata) {
try {
final TiffField exifDate = tiffMetadata.findField(ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL, true);
if (exifDate != null) {
return LocalDateTime.parse(exifDate.getStringValue(), _dtParser);
}
final TiffField date = tiffMetadata.findField(TiffTagConstants.TIFF_TAG_DATE_TIME, true);
if (date != null) {
return LocalDateTime.parse(date.getStringValue(), _dtParser);
}
} catch (final Exception e) {
// ignore
}
return null;
}
开发者ID:wolfgang-ch,项目名称:mytourbook,代码行数:22,代码来源:Photo.java
示例3: getExifMetadata
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
public TiffImageMetadata getExifMetadata(final ByteSource byteSource, Map<String, Object> params)
throws ImageReadException, IOException {
final byte[] bytes = getExifRawData(byteSource);
if (null == bytes) {
return null;
}
if (params == null) {
params = new HashMap<String, Object>();
}
if (!params.containsKey(PARAM_KEY_READ_THUMBNAILS)) {
params.put(PARAM_KEY_READ_THUMBNAILS, Boolean.TRUE);
}
return (TiffImageMetadata) new TiffImageParser().getMetadata(bytes,
params);
}
开发者ID:windwardadmin,项目名称:android-awt,代码行数:18,代码来源:JpegImageParser.java
示例4: getEXIFThumbnailData
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
/**
* Returns the data of the first JPEG thumbnail found in the EXIF metadata.
*
* @return JPEG data or null if no thumbnail.
* @throws ImageReadException
* @throws IOException
*/
public byte[] getEXIFThumbnailData() throws ImageReadException, IOException {
if (exif == null) {
return null;
}
final List<? extends IImageMetadataItem> dirs = exif.getDirectories();
for (IImageMetadataItem d : dirs) {
final TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) d;
byte[] data = null;
if (dir.getJpegImageData() != null) {
data = dir.getJpegImageData().data;
}
// Support other image formats here.
if (data != null) {
return data;
}
}
return null;
}
开发者ID:windwardadmin,项目名称:android-awt,代码行数:28,代码来源:JpegImageMetadata.java
示例5: getRawImageData
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
public TiffImageData getRawImageData() {
if (exif == null) {
return null;
}
final List<? extends IImageMetadataItem> dirs = exif.getDirectories();
for (IImageMetadataItem d : dirs) {
final TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) d;
// Debug.debug("dir", dir);
final TiffImageData rawImageData = dir.getTiffImageData();
if (null != rawImageData) {
return rawImageData;
}
}
return null;
}
开发者ID:windwardadmin,项目名称:android-awt,代码行数:17,代码来源:JpegImageMetadata.java
示例6: load
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
public static void load(final List<File> files) {
final List<PhotoDataset> photos = new ArrayList<>(files.size());
files.stream().forEach((file) -> {
final PhotoDataset photoDataset = new PhotoDataset(file);
final TiffImageMetadata exif = getExif(file);
if (exif != null) {
final Instant timeTaken = getTimeTaken(exif, file);
if (timeTaken != null) {
photoDataset.setInstantTaken(timeTaken);
photoDataset.setHasGeotag(photoHasGeotag(exif, file));
photos.add(photoDataset);
} else {
log(Level.ALL, String.format(
"Couldn't parse date/time for file %s", file));
}
} else {
log(Level.WARNING, String.format(
"No EXIF metadata found for file %s", file));
}
});
DataHolder.getInstance().addPhotos(photos);
}
开发者ID:consulion,项目名称:jeotag,代码行数:23,代码来源:PhotoLoader.java
示例7: getExif
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private static TiffImageMetadata getExif(final File file) {
TiffImageMetadata exif = null;
try {
final IImageMetadata metadata = Imaging.getMetadata(file);
if (metadata != null) {
final JpegImageMetadata jpegMetadata
= (JpegImageMetadata) metadata;
exif = jpegMetadata.getExif();
} else {
log(Level.WARNING, String.format(
"No metadata found for file %s", file));
}
}
catch (final ImageReadException | IOException ex) {
Logger.getLogger(PhotoLoader.class.getName()).
log(Level.SEVERE, null, ex);
}
return exif;
}
开发者ID:consulion,项目名称:jeotag,代码行数:21,代码来源:PhotoLoader.java
示例8: photoHasGeotag
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private static Boolean photoHasGeotag(final TiffImageMetadata exif,
final File file) {
Boolean hasGeoTag = false;
try {
final TiffImageMetadata.GPSInfo gps = exif.getGPS();
if (gps != null
&& gps.getLatitudeAsDegreesNorth() != 0
&& gps.getLongitudeAsDegreesEast() != 0) {
hasGeoTag = Boolean.TRUE;
}
}
catch (ImageReadException ex) {
Logger.getLogger(PhotoLoader.class.getName()).log(
Level.FINE, null, String.format(
"File: %s couldn't be read. Cause: %s",
file.getPath(), ex.getMessage()));
}
return hasGeoTag;
}
开发者ID:consulion,项目名称:jeotag,代码行数:20,代码来源:PhotoLoader.java
示例9: getExifMetadata
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
public TiffImageMetadata getExifMetadata(final ByteSource byteSource, Map<String, Object> params)
throws ImageReadException, IOException {
final byte[] bytes = getExifRawData(byteSource);
if (null == bytes) {
return null;
}
if (params == null) {
params = new HashMap<>();
}
if (!params.containsKey(PARAM_KEY_READ_THUMBNAILS)) {
params.put(PARAM_KEY_READ_THUMBNAILS, Boolean.TRUE);
}
return (TiffImageMetadata) new TiffImageParser().getMetadata(bytes,
params);
}
开发者ID:apache,项目名称:commons-imaging,代码行数:18,代码来源:JpegImageParser.java
示例10: getEXIFThumbnailData
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
/**
* Returns the data of the first JPEG thumbnail found in the EXIF metadata.
*
* @return JPEG data or null if no thumbnail.
* @throws ImageReadException
* @throws IOException
*/
public byte[] getEXIFThumbnailData() throws ImageReadException, IOException {
if (exif == null) {
return null;
}
final List<? extends ImageMetadataItem> dirs = exif.getDirectories();
for (final ImageMetadataItem d : dirs) {
final TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) d;
byte[] data = null;
if (dir.getJpegImageData() != null) {
data = dir.getJpegImageData().getData(); // TODO clone?
}
// Support other image formats here.
if (data != null) {
return data;
}
}
return null;
}
开发者ID:apache,项目名称:commons-imaging,代码行数:28,代码来源:JpegImageMetadata.java
示例11: getRawImageData
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
public TiffImageData getRawImageData() {
if (exif == null) {
return null;
}
final List<? extends ImageMetadataItem> dirs = exif.getDirectories();
for (final ImageMetadataItem d : dirs) {
final TiffImageMetadata.Directory dir = (TiffImageMetadata.Directory) d;
// Debug.debug("dir", dir);
final TiffImageData rawImageData = dir.getTiffImageData();
if (null != rawImageData) {
return rawImageData;
}
}
return null;
}
开发者ID:apache,项目名称:commons-imaging,代码行数:17,代码来源:JpegImageMetadata.java
示例12: checkFields
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private void checkFields(final byte[] file) throws Exception {
final TiffImageMetadata metadata = toTiffMetadata(Imaging.getMetadata(file));
// field values may be duplicated between directories, we have to check all
final List<Object> authorValues = new ArrayList<>();
final List<Object> commentValues = new ArrayList<>();
final List<Object> subjectValues = new ArrayList<>();
final List<Object> titleValues = new ArrayList<>();
for (final TiffDirectory d : metadata.contents.directories) {
titleValues.add(d.getFieldValue(MicrosoftTagConstants.EXIF_TAG_XPTITLE, false));
authorValues.add(d.getFieldValue(MicrosoftTagConstants.EXIF_TAG_XPAUTHOR, false));
commentValues.add(d.getFieldValue(MicrosoftTagConstants.EXIF_TAG_XPCOMMENT, false));
subjectValues.add(d.getFieldValue(MicrosoftTagConstants.EXIF_TAG_XPSUBJECT, false));
}
assertTrue(authorValues.contains(AUTHOR));
assertTrue(commentValues.contains(COMMENT));
assertTrue(subjectValues.contains(SUBJECT));
assertTrue(titleValues.contains(TITLE));
}
开发者ID:apache,项目名称:commons-imaging,代码行数:21,代码来源:MicrosoftTagTest.java
示例13: copyExifOrientation
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
/**
* This method will copy the Exif "orientation" information to the resulting image, if the
* original image contains this data too.
*
* @param sourceImage
* The source image.
* @param result
* The original result.
* @return The new result containing the Exif orientation.
*/
public static byte[] copyExifOrientation(byte[] sourceImage, byte[] result) {
try {
ImageMetadata imageMetadata = Imaging.getMetadata(sourceImage);
if (imageMetadata == null) {
return result;
}
List<? extends ImageMetadata.ImageMetadataItem> metadataItems = imageMetadata
.getItems();
for (ImageMetadata.ImageMetadataItem metadataItem : metadataItems) {
if (metadataItem instanceof TiffImageMetadata.TiffMetadataItem) {
TiffField tiffField = ((TiffImageMetadata.TiffMetadataItem) metadataItem)
.getTiffField();
if (!tiffField.getTagInfo().equals(TiffTagConstants.TIFF_TAG_ORIENTATION)) {
continue;
}
Object orientationValue = tiffField.getValue();
if (orientationValue == null) {
break;
}
TiffOutputSet outputSet = new TiffOutputSet();
TiffOutputDirectory outputDirectory = outputSet.getOrCreateRootDirectory();
outputDirectory.add(TiffTagConstants.TIFF_TAG_ORIENTATION,
((Number) orientationValue).shortValue());
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
new ExifRewriter().updateExifMetadataLossy(result, outputStream, outputSet);
return outputStream.toByteArray();
}
}
} catch (IOException | ImageWriteException | ImageReadException e) {
LOGGER.warn("Error reading image: {}", e.getMessage());
}
return result;
}
开发者ID:Communote,项目名称:communote-server,代码行数:45,代码来源:ImageHelper.java
示例14: getTiffValueInt
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private int getTiffValueInt(final TiffImageMetadata tiffMetadata,
final TagInfoShortOrLong tiffTag,
final int defaultValue) {
try {
final TiffField field = tiffMetadata.findField(tiffTag, true);
if (field != null) {
return field.getIntValue();
}
} catch (final Exception e) {
// ignore
}
return defaultValue;
}
开发者ID:wolfgang-ch,项目名称:mytourbook,代码行数:16,代码来源:Photo.java
示例15: getTiffValueString
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private String getTiffValueString(final TiffImageMetadata tiffMetadata, final TagInfo tagInfo) {
try {
final TiffField field = tiffMetadata.findField(tagInfo, true);
if (field != null) {
return field.getStringValue();
}
} catch (final Exception e) {
// ignore
}
return null;
}
开发者ID:wolfgang-ch,项目名称:mytourbook,代码行数:14,代码来源:Photo.java
示例16: getMetadata
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
@Override
public IImageMetadata getMetadata(final ByteSource byteSource, final Map<String, Object> params)
throws ImageReadException, IOException {
final TiffImageMetadata exif = getExifMetadata(byteSource, params);
final JpegPhotoshopMetadata photoshop = getPhotoshopMetadata(byteSource,
params);
if (null == exif && null == photoshop) {
return null;
}
return new JpegImageMetadata(photoshop, exif);
}
开发者ID:windwardadmin,项目名称:android-awt,代码行数:15,代码来源:JpegImageParser.java
示例17: getTimeTaken
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private static Instant getTimeTaken(final TiffImageMetadata exif,
final File file) {
Instant instant = null;
if (exif != null) {
try {
final String[] dateTimeOriginal = exif.getFieldValue(
ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL);
if (dateTimeOriginal.length == 1
&& dateTimeOriginal[0].matches(
"\\d{4}\\:\\d{2}:\\d{2}\\s\\d{2}:\\d{2}:\\d{2}")) {
final String[] split = dateTimeOriginal[0].split("\\s");
final String dateString = split[0];
final String timeString = split[1];
final String[] dateSplit = dateString.split("\\:");
final int year = Integer.parseInt(dateSplit[0]);
final int month = Integer.parseInt(dateSplit[1]);
final int day = Integer.parseInt(dateSplit[2]);
final String[] timeSplit = timeString.split("\\:");
final int hour = Integer.parseInt(timeSplit[0]);
final int minute = Integer.parseInt(timeSplit[1]);
final int second = Integer.parseInt(timeSplit[2]);
final LocalDateTime ldt = LocalDateTime.of(
year, month, day, hour, minute, second);
instant = ldt.toInstant(ZoneOffset.ofHoursMinutes(0, 0));
} else {
log(Level.WARNING, String.format(
"unknown date format in file %s", file.getPath()));
}
}
catch (ImageReadException ex) {
Logger.getLogger(PhotoLoader.class.getName()).
log(Level.SEVERE, null, ex);
}
}
return instant;
}
开发者ID:consulion,项目名称:jeotag,代码行数:37,代码来源:PhotoLoader.java
示例18: getMetadata
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
@Override
public ImageMetadata getMetadata(final ByteSource byteSource, final Map<String, Object> params)
throws ImageReadException, IOException {
final TiffImageMetadata exif = getExifMetadata(byteSource, params);
final JpegPhotoshopMetadata photoshop = getPhotoshopMetadata(byteSource,
params);
if (null == exif && null == photoshop) {
return null;
}
return new JpegImageMetadata(photoshop, exif);
}
开发者ID:apache,项目名称:commons-imaging,代码行数:15,代码来源:JpegImageParser.java
示例19: test
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
@Test
public void test() throws Exception {
if (imageFile.getParentFile().getName().toLowerCase().equals("@broken")) {
return;
}
final Map<String, Object> params = new HashMap<>();
final boolean ignoreImageData = isPhilHarveyTestImage(imageFile);
params.put(ImagingConstants.PARAM_KEY_READ_THUMBNAILS, Boolean.valueOf(!ignoreImageData));
final JpegImageMetadata metadata = (JpegImageMetadata) Imaging.getMetadata(imageFile, params);
if (null == metadata) {
return;
}
final TiffImageMetadata exifMetadata = metadata.getExif();
if (null == exifMetadata) {
return;
}
final TiffImageMetadata.GPSInfo gpsInfo = exifMetadata.getGPS();
if (null == gpsInfo) {
return;
}
// TODO we should assert something here.
Debug.debug("imageFile " + imageFile);
Debug.debug("gpsInfo " + gpsInfo);
Debug.debug("gpsInfo longitude as degrees east " + gpsInfo.getLongitudeAsDegreesEast());
Debug.debug("gpsInfo latitude as degrees north " + gpsInfo.getLatitudeAsDegreesNorth());
Debug.debug();
}
开发者ID:apache,项目名称:commons-imaging,代码行数:34,代码来源:GpsTest.java
示例20: checkImage
import org.apache.commons.imaging.formats.tiff.TiffImageMetadata; //导入依赖的package包/类
private void checkImage(final File imageFile) throws IOException,
ImageReadException, ImageWriteException {
// Debug.debug("imageFile", imageFile.getAbsoluteFile());
final Map<String, Object> params = new HashMap<>();
final boolean ignoreImageData = isPhilHarveyTestImage(imageFile);
params.put(ImagingConstants.PARAM_KEY_READ_THUMBNAILS, Boolean.valueOf(!ignoreImageData));
// note that metadata might be null if no metadata is found.
final ImageMetadata metadata = Imaging.getMetadata(imageFile, params);
if (null == metadata) {
return;
}
final JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
// note that exif might be null if no Exif metadata is found.
final TiffImageMetadata exif = jpegMetadata.getExif();
if (null == exif) {
return;
}
final List<TiffField> fields = exif.getAllFields();
for (final TiffField field : fields) {
checkField(imageFile, field);
}
}
开发者ID:apache,项目名称:commons-imaging,代码行数:28,代码来源:SpecificExifTagTest.java
注:本文中的org.apache.commons.imaging.formats.tiff.TiffImageMetadata类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论