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


Java ImageMetadata类代码示例

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


ImageMetadata类属于org.apache.sanselan.common包,在下文中一共展示了ImageMetadata类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getMetadata

import org.apache.sanselan.common.ImageMetadata; //导入依赖的package包/类
public IImageMetadata getMetadata(ByteSource byteSource, Map params)
        throws ImageReadException, IOException
{
    ArrayList chunks = readChunks(byteSource, new int[] { tEXt, zTXt, },
            true);

    if ((chunks == null) || (chunks.size() < 1))
        return null;

    ImageMetadata result = new ImageMetadata();

    for (int i = 0; i < chunks.size(); i++)
    {
        PNGTextChunk chunk = (PNGTextChunk) chunks.get(i);

        result.add(chunk.getKeyword(), chunk.getText());
    }

    return result;
}
 
开发者ID:mike10004,项目名称:appengine-imaging,代码行数:21,代码来源:PngImageParser.java

示例2: addSanselanProperties

import org.apache.sanselan.common.ImageMetadata; //导入依赖的package包/类
/**
 * @param metadata
 * @param image
 * @return Whether any properties has been updated
 */
private boolean addSanselanProperties(IImageMetadata metadata, Image image) throws Exception {
	boolean isSomethingDifferent = false;
	if (metadata instanceof JpegImageMetadata) {
		JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
		StringBuffer keywords = null;
		StringBuffer spatial = null;

		for (Object o : jpegMetadata.getItems()) {
			if (o instanceof ImageMetadata.Item) {
				ImageMetadata.Item item = (ImageMetadata.Item) o;
				if (item.getKeyword().equals("Object Name") && image.getTitle() == null) {
					image.setTitle(sanitizer.sanitize(item.getText()));
					isSomethingDifferent = true;
				} else if (item.getKeyword().equals("Keywords")) {
					if (keywords == null) {
						keywords = new StringBuffer();
						keywords.append(item.getText());
					} else {
						keywords.append(", " + item.getText());
					}
				} else if (item.getKeyword().equals("Sublocation")
						|| item.getKeyword().equals("Province/State")
						|| item.getKeyword().equals("Country/Primary Location Name")) {
					if (spatial == null) {
						spatial = new StringBuffer();
						spatial.append(item.getText());
					} else {
						spatial.append(", " + item.getText());
					}
				}
			}
		}
		if (spatial != null && image.getSpatial() == null) {
			image.setSpatial(sanitizer.sanitize(spatial.toString()));
			isSomethingDifferent = true;
		}
		if (keywords != null && image.getSubject() == null) {
			image.setSubject(sanitizer.sanitize(keywords.toString()));
			isSomethingDifferent = true;
		}
		if (jpegMetadata.findEXIFValue(TiffConstants.TIFF_TAG_ARTIST) != null
				&& image.getCreator() == null) {
			image.setCreator(sanitizer.sanitize(jpegMetadata.findEXIFValue(
					TiffConstants.TIFF_TAG_ARTIST).getStringValue()));
			isSomethingDifferent = true;
		}
		if (jpegMetadata.findEXIFValue(TiffConstants.TIFF_TAG_COPYRIGHT) != null
				&& image.getRights() == null) {

			image.setRights(sanitizer.sanitize(jpegMetadata.findEXIFValue(
					TiffConstants.TIFF_TAG_COPYRIGHT).getStringValue()));
			isSomethingDifferent = true;
		}
		if (jpegMetadata.findEXIFValue(TiffConstants.TIFF_TAG_IMAGE_DESCRIPTION) != null
				&& image.getDescription() == null) {
			image.setDescription(sanitizer.sanitize(jpegMetadata.findEXIFValue(
					TiffConstants.TIFF_TAG_IMAGE_DESCRIPTION)
					.getStringValue()));
			isSomethingDifferent = true;
		}
		TiffImageMetadata exifMetadata = jpegMetadata.getExif();
		if (exifMetadata != null) {
			TiffImageMetadata.GPSInfo gpsInfo = exifMetadata.getGPS();
			if (gpsInfo != null && image.getLocation() == null) {
				image.setLongitude(gpsInfo.getLongitudeAsDegreesEast());
				image.setLatitude(gpsInfo.getLatitudeAsDegreesNorth());
				isSomethingDifferent = true;
			}
		}
	}
	return isSomethingDifferent ;
}
 
开发者ID:RBGKew,项目名称:eMonocot,代码行数:78,代码来源:ImageMetadataExtractorImpl.java


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