问题标签 [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.
java - 使用 Apache Commons Imaging 将 EXIF 数据写入 TIFF 文件
如何使用 Apache Commons Imaging 将 EXIF 数据写入 TIFF 图像?
这是我尝试过的:
但我收到了这个错误:
这似乎表明ExifRewriter该类不支持 TIFF?但是我应该使用哪个类?
java - 如何从 S3Object 获取输出流?
我的目标是从 S3 获取对象(图像),更改文件的元数据,并将其替换为已更改元数据的新文件。
为了更改元数据,我正在使用commonsimaging library。我已经对下面的示例进行了编码,该示例按预期工作,但不处理 S3。
以上工作,因为我可以运行exiftool并newimage2.jpg查看设置的元数据属性:
问题
如何使用 AWS S3 SDK 使用 S3 上的对象执行相同操作?上述updateXmpXml方法需要OutputStream作为第二个参数。但是,我在 AWS sdk http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/allclasses-noframe.html中看不到任何输出流类
gradle - Gradle 找不到 org.apache.commons:commons-imaging
Gradle 无法解析org.apache.commons:commons-imaging,但它在所有 3 个提供的存储库中都可用:
http://jump-pilot.sourceforge.net/repositoryhttps://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:
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 达到这一点后它仍然有效 :-)
java - 使用 Apache Imaging Library 编辑 jpg 标签和标题
我正在尝试批量编辑 2000 多张带有标题和标签的 jpg 照片。我可以轻松获得 ImageDescription (tag) 和 Title 字段,但我找不到插入新标题和新标签的方法。
有没有关于如何使用 Apache Imaging Lib(或其他比 Apaches 更好的库)插入新标题和标签的示例?
这是我现在提取数据的方式:
编辑:这是我目前在编辑“XPTitle”字段方面所获得的
https://gist.github.com/TheMasteredPanda/08fe51447fc6de47293bf1b34758e692
java - 如何在 Java 中使用 apache.commons.imaging 保留 TIFF 图像的透明度
当调用
Imaging.getBufferedImage(image);
where image is a byte array 包含带有 alpha 层的 TIFF 图像时,生成的 BufferedImage 没有 alpha 通道。如何在调用 Imaging.getBufferedImage() 时保留 alpha 通道或将 alpha 通道添加回返回的 BufferedImage?
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 时,出现如下错误,我该怎么办?
apache-commons - 在 Android Studio 中重写没有 EXIF 数据的文件
我希望 java 代码或库将最小的 EXIF 数据写回 Android Studio 中的 IMAGE 文件(JPG、GIF、PNG 等)。EXIFREWRITER 不工作。此外,METADATAEXTRACTOR 正在提取但不重新写回文件。谢谢!
java - Apache Commons Imaging - 将 tiff 转换为 jpg
我需要使用 Apache Commons Imaging将tiff图像转换为图像。jpg我尝试过,但我不知道如何使用这个库来做到这一点。
image我tiff要转换的文件在哪里,但我得到了
org.apache.commons.imaging.ImageWriteException:无法写入此图像格式(Jpeg-Custom)。
我不明白我做错了什么有人可以帮忙吗?
java - 使用 Apache Commons Imaging 缩放图像
我想要一种使用 Java 缩放图像的高质量方法,特别是 JPEG 图像。我在 2007 年左右对此进行了广泛的研究,当时 JAI 遇到了一些问题,这些问题会在某些缩放图像中产生黑色边框。
那时我终于确定了一种使用Image.getScaledInstance()和写入BufferedImage带有Graphics2D渲染提示的技术,该技术是从 Perry Nguyen 描述的技术修改而来的。这种方法速度较慢,但生成的图像质量几乎与 JAI 子样本平均值相同,但没有不正确的边界。
在重新审视这一点时,我做了一些快速的研究,但我认为没有比 15 年前更好的方法来做到这一点。但是我确实找到了Apache Commons Imaging ,这是一个声称只使用 Java的新项目,所以它很有希望。不幸的是,我找不到任何有关缩放图像的文档。
Apache Common Imaging 是否处理图像的高质量缩放?如果是这样,我在哪里可以找到文档?