问题标签 [apache-commons-imaging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1931 浏览

java - 使用 Apache Commons Imaging 将 EXIF 数据写入 TIFF 文件

如何使用 Apache Commons Imaging 将 EXIF 数据写入 TIFF 图像?

这是我尝试过的:

但我收到了这个错误:

这似乎表明ExifRewriter该类不支持 TIFF?但是我应该使用哪个类?

0 投票
1 回答
5223 浏览

java - 如何从 S3Object 获取输出流?

我的目标是从 S3 获取对象(图像),更改文件的元数据,并将其替换为已更改元数据的新文件。

为了更改元数据,我正在使用commonsimaging library。我已经对下面的示例进行了编码,该示例按预期工作,但不处理 S3。

以上工作,因为我可以运行exiftoolnewimage2.jpg查看设置的元数据属性:

问题

如何使用 AWS S3 SDK 使用 S3 上的对象执行相同操作?上述updateXmpXml方法需要OutputStream作为第二个参数。但是,我在 AWS sdk http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/allclasses-noframe.html中看不到任何输出流类

0 投票
2 回答
3159 浏览

gradle - Gradle 找不到 org.apache.commons:commons-imaging

Gradle 无法解析org.apache.commons:commons-imaging,但它在所有 3 个提供的存储库中都可用:

  • http://jump-pilot.sourceforge.net/repository

  • https://repo.adobe.com/nexus/content/repositories/public/

  • https://repository.apache.org/content/repositories/snapshots/

这部分日志很有趣,Gradle 只查看jcenter本地文件系统:

https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0 -SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar 文件:/Users/user/Library/Android/sdk/extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml 文件:/Users/user/Library/Android/sdk /extras/android/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.pom 文件:/Users/user/Library/Android/sdk/extras/android/m2repository/org /apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar 文件:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging /1.0-SNAPSHOT/maven-metadata.xml 文件:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT .pom 文件:/Users/user/Library/Android/sdk/extras/google/m2repository/org/apache/commons/commons-imaging/1.0-SNAPSHOT/commons-imaging-1.0-SNAPSHOT.jar

控制台日志(请求org.apache.commons:commons-imaging:1.0-SNAPSHOT):

控制台日志(请求org.apache.commons:commons-imaging:+):

build.gradle

0 投票
0 回答
1336 浏览

java - 比较 Java 字符串(不同编码)时遇到问题

我正在使用 Apache Commons Imaging (Sanselan) 将 EXIF 元数据写入 JPEG,并且至少在 Sanselan 的 0.97 版本中,存在一些与字符集/编码相关的错误。EXIF 2.2 标准要求类型字段的编码UNDEFINED以 8 字节 ASCII“签名”为前缀,描述以下内容的编码。我要写入的字段/标签是UserCommentEXIF 标签。

Windows 期望内容以 UTF16 编码,因此写入 JPEG 的字节必须包含(单字节)ASCII 字符和后跟(双字节)Unicode 字符的组合。此外,虽然UserComment似乎不需要它,但我注意到内容通常是“空填充”到均匀长度。

这是我用来创建和编写标签的代码:

然后,当我从 JPEG 中读取标签时,我执行以下操作:

让我感到困惑的是:写入 JPEG 的字节以 8 个 ASCII 字节为前缀,显然需要“剥离”这些字节,以便比较写入的内容和读取的内容:

但是为什么substring(5),而不是…… substring(8)?如果是 4,我可能会认为 4 个双字节 (UTF-16) 符号总共 8 个字节,但它只有在我去掉5 个字节时才有效。这是否表明我没有bytesComment正确创建有效负载(字节数组)?

PS!我将更新到 2016 年发布的 Apache Commons Imaging RC 1.0,并希望修复了这些错误,但我仍然想了解为什么在我使用 0.97 达到这一点后它仍然有效 :-)

0 投票
1 回答
281 浏览

java - 使用 Apache Imaging Library 编辑 jpg 标签和标题

我正在尝试批量编辑 2000 多张带有标题和标签的 jpg 照片。我可以轻松获得 ImageDescription (tag) 和 Title 字段,但我找不到插入新标题和新标签的方法。

有没有关于如何使用 Apache Imaging Lib(或其他比 Apaches 更好的库)插入新标题和标签的示例?

这是我现在提取数据的方式:

编辑:这是我目前在编辑“XPTitle”字段方面所获得的

https://gist.github.com/TheMasteredPanda/08fe51447fc6de47293bf1b34758e692

0 投票
1 回答
152 浏览

java - 如何在 Java 中使用 apache.commons.imaging 保留 TIFF 图像的透明度

当调用 Imaging.getBufferedImage(image); where image is a byte array 包含带有 alpha 层的 TIFF 图像时,生成的 BufferedImage 没有 alpha 通道。如何在调用 Imaging.getBufferedImage() 时保留 alpha 通道或将 alpha 通道添加回返回的 BufferedImage?

0 投票
1 回答
359 浏览

eclipse - org.apache.commons commons-imaging 1.0-alpha2-SNAPSHOT 的 Gradle 依赖项中的非法条目

我只是添加compile 'org.apache.commons:commons-imaging:1.0-alpha2-SNAPSHOT'到文件 build.gradle,当我运行 Gradle Refresh Dependencies 时,出现如下错误,我该怎么办?

0 投票
1 回答
184 浏览

apache-commons - 在 Android Studio 中重写没有 EXIF 数据的文件

我希望 java 代码或库将最小的 EXIF 数据写回 Android Studio 中的 IMAGE 文件(JPG、GIF、PNG 等)。EXIFREWRITER 不工作。此外,METADATAEXTRACTOR 正在提取但不重新写回文件。谢谢!

0 投票
1 回答
622 浏览

java - Apache Commons Imaging - 将 tiff 转换为 jpg

我需要使用 Apache Commons Imaging将tiff图像转换为图像。jpg我尝试过,但我不知道如何使用这个库来做到这一点。

imagetiff要转换的文件在哪里,但我得到了

org.apache.commons.imaging.ImageWriteException:无法写入此图像格式(Jpeg-Custom)。

我不明白我做错了什么有人可以帮忙吗?

0 投票
1 回答
332 浏览

java - 使用 Apache Commons Imaging 缩放图像

我想要一种使用 Java 缩放图像的高质量方法,特别是 JPEG 图像。我在 2007 年左右对此进行了广泛的研究,当时 JAI 遇到了一些问题,这些问题会在某些缩放图像中产生黑色边框。

那时我终于确定了一种使用Image.getScaledInstance()和写入BufferedImage带有Graphics2D渲染提示的技术,该技术是从 Perry Nguyen 描述的技术修改而来的。这种方法速度较慢,但​​生成的图像质量几乎与 JAI 子样本平均值相同,但没有不正确的边界。

在重新审视这一点时,我做了一些快速的研究,但我认为没有比 15 年前更好的方法来做到这一点。但是我确实找到了Apache Commons Imaging ,这是一个声称只使用 Java的新项目,所以它很有希望。不幸的是,我找不到任何有关缩放图像的文档。

Apache Common Imaging 是否处理图像的高质量缩放?如果是这样,我在哪里可以找到文档?