当前位置: 首页>>代码示例>>Java>>正文


Java TiffImageMetadata类代码示例

本文整理汇总了Java中org.apache.commons.imaging.formats.tiff.TiffImageMetadata的典型用法代码示例。如果您正苦于以下问题:Java TiffImageMetadata类的具体用法?Java TiffImageMetadata怎么用?Java TiffImageMetadata使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TiffImageMetadata类属于org.apache.commons.imaging.formats.tiff包,在下文中一共展示了TiffImageMetadata类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的org.apache.commons.imaging.formats.tiff.TiffImageMetadata类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。