本文整理汇总了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;
}
示例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 ;
}