问题标签 [twelvemonkeys]

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 投票
1 回答
8393 浏览

java - 使用 Java 创建多页 Tiff

我有兴趣拍摄 tif 图像并向其添加一个包含 Java 文本的图层,如果可能的话,最好使用 Twelve Monkeys 图像库。

我可以从这里调整代码以将文本添加到 tif 或创建一个仅包含文本的相同大小的新 tif,但不能将它们保存为多页 tif。例如:

马文:

如何从图像和生成的文本图像创建多页 tif?

我能够为 jpg 运行以下代码,但 jpg 没有图层。

谢谢你。

0 投票
1 回答
407 浏览

java - OpenIMAJ 库无法读取 tiff 文件?

我正在使用 OpenIMAJ 库,它在“JPEG”和“PNG”文件上运行良好,但在 tiff 文件上它给了我一个错误。这是代码:

这是错误:

这是我正在使用的 tiff 文件(特别是 GeoTiff):

https://drive.google.com/file/d/0ByKaCojxzNa9MWxPTUJjZURHR1E/view?usp=sharing

这是否意味着 OpenIMAJ 库不支持 tiff 格式/GeoTiff?

我认为 OpenIMAJ 不支持 tiff,所以我尝试使用“TwelveMonkeys”库来读取该文件。“TwelveMonkeys”库单独/单独能够读取文件。因此,我导入了 TwelveMonkeys 库以与 OpenIMAJ 一起工作,因此支持 tiff 文件,这适用于某些 tiff 文件,但对于该文件它不起作用(尽管“TwelveMonkeys”能够在单独的项目中单独读取它)并且我得到了这个例外:

后来,当我跟踪错误消息时,我发现某些内容可能与文件的大小有关,因为它大约为26mb,我注意到错误源于类“org.openimaj.image.ExtendedImageIO”的“读取”方法,我认为它使用最大10mb的大小:

那么我该如何解决这个问题并在 OpenIMAJ 中读取该 tiff 文件(为了进一步应用设施,OpenIMAJ 提供了类似集群/分段的功能)?

0 投票
1 回答
681 浏览

java - 尝试从 java 中非常大的图像文件中读取区域时出错

我需要读取一个非常大的图像文件(56000 px X 49000 px)。我需要以小的矩形块读取它,所以我试图遵循这个例子:Read region from very large image file in Java

但是,我收到此错误:java.lang.IllegalArgumentException: width*height > Integer.MAX_VALUE!

我的代码片段如下(或多或少完全来自上面的链接):

我的理解是,为参数指定 Rectangle sourceRegion 会使 ImageReader 只读取图像的一小块,所以我不明白是什么导致了错误。任何帮助将非常感激。如果有帮助,我正在使用 TwelveMonkeys ImageIO 插件。

这是输出:

0 投票
0 回答
456 浏览

java - 从 Photoshop 文件中读取 DPI

我正在尝试使用 JAVA 从 PSD 文件中读取 DPI。我正在使用 ImageIO(包括 TwelveMonkeys 扩展)和/或 Apache Commons Imaging。不幸的是无法管理它(JPG、PNG 和 TIFF 工作正常)

这是来自 Photoshop 的文件信息:

如果我能得到这个部分会很酷:

我正在阅读这样的维度:

谢谢

0 投票
0 回答
174 浏览

c# - 如何将 ImageIO 插件与使用 IKVM 转换为 dll 的 jar 一起使用?

我通过使用 IKVM 将 jar 转换为 dll,并在解析 PDF 文件中的图像时遇到问题,从而在 .Net 中使用 Apache Tika。仔细检查表明这是由于 IKVM 的 openjdk 源中的 JPEGImageReader.java 中未实现某些方法。

长话短说,我正在寻找TwelveMonkeys ImageIO 插件来尝试解决这个问题。但是,我真的不明白如何在将 Tika 与 IKVM 一起使用时添加此插件。据我了解,只要 ImageIO 插件在类路径上,就应该自动发现它们。

我尝试使用 TwelveMonkeys jar 作为依赖项为 Tika 创建一个 dll:

但是,在运行 Tika 时,它不使用 TwelveMonkeys 插件。

这样做的正确方法是什么?

0 投票
0 回答
170 浏览

java - Java - 如果启用压缩,多页 tiff 的第二页变黑

我想创建一个包含一页或两页的多页 TIFF。问题是:如果我使用ImageWriteParam设置任何类型的压缩,TIFF 中的第二页会完全变黑。如果我没有设置压缩,它会显示得很好(虽然文件真的很大)

这是我正在做的事情的一个片段:

有任何想法吗?

0 投票
0 回答
279 浏览

java - 使用 Java 操作 PSD 并转换为 TGA

我有一些 PSD,它们基本上是带有一些隐藏层的模板。我想操作这些模板,以便每次导出时只有一个隐藏层可见。最后这些文件应该导出为 TGA。

我正在寻找一种使用 Java 以编程方式执行此操作的方法。我找到了 TwelveMonkeys ImageIO ( https://github.com/haraldk/TwelveMonkeys ),但找不到完成我想要的方法(可能有好的文档吗?)。我怎样才能做到这一点?那个图书馆甚至有可能吗?是否应该考虑其他库?

0 投票
2 回答
2058 浏览

java - ImageIO 不支持的图像类型 - TwelveMonkeys 插件修复不起作用?

由于使用不兼容的颜色配置文件,我遇到了 Unsupported Image Type 错误com.sun.imageio.plugins.jpeg.JPEGImageReader。后来我发现 TwelveMonkeys 插件被证明可以解决这个问题,并在我的项目类路径中引用了依赖的 .jar。我从 TwelveMonkeys github 存储库下载了它们。注意我使用的是 3.0.2 版本,因为我在 Java 6 上运行 JDK 1.6.0_45。这些是我添加到项目中的 .jar:

我能够使用以下测试来测试库是否已安装和工作:

哪个输出:

当我运行我的代码时,它仍在尝试读取 JPEGcom.sun.imageio.plugins.jpeg.JPEGImageReader并继续抛出 IIOException。有任何想法吗?

更新:它看起来像 iTextPDF 导致的问题是项目使用的库。我设置了一个准系统测试应用程序,将 CMYK JPEG 转换为 aBufferedImage然后调用ImageIO.read(img)它工作正常。我很难找到为什么 iText 在同一个项目和类路径中调用时找不到 TwelveMonkeys 插件的原因ImageIO.read(img),但这可能是由于我的知识有限。我还应该补充一点,我正在处理的应用程序是 Web 服务 API 的一部分。

0 投票
0 回答
494 浏览

java - iText PDF 输出 DeviceCMYK 图像非常暗

我在这个问题上花了一些时间查看类似的问题和文档,似乎无法用这个特定的 PDF 解决这个问题。PDF 中有一些图像具有 DeviceCMYK 色彩空间,并且无法正确输出。我检查了 iText Rups 中的 PDF,希望能找到一些有用的东西。我怀疑这是一个透明度问题,但是我似乎找不到任何对作为遮罩层的第二个位图的引用。话虽如此,我不熟悉这个 PDF 是如何形成的,因为它是一个同事给我的用于测试的。

我已经使用包含 CMYK JPEG 的 PDF 进行了测试,该 PDF 是在网上找到的,颜色空间为 ICCBased,它在被读取并提取到文件或压缩时工作正常。在我们的 PDF 图像提取过程中显然遗漏了一些东西,无论是遮罩层还是 ICC 配置文件,我都不确定。我对此进行调试的努力并没有产生很多有用的信息,但是我希望有人可以根据他们在此问题上的经验为我指明正确的方向。

注意:我使用 ImageIO 插件 TwelveMonkeys 来支持 CMYK JPEG 图像。

下图是 PDF 中显示的图像的屏幕截图。第二个是使用 iText 5 提取时的输出。

编辑:将第二个(深色版本)图像更新为从 PDF 提取后生成的 jpeg,而不是 PNG 文件。还为包含示例图像的页面添加了 PDF 检查器的屏幕截图。 预期图像的屏幕截图 具有暗输出的图像

截屏

0 投票
0 回答
789 浏览

java - TwelveMonkeys:读取 JPEG 时未找到 ProgressListenerBase 类

错误描述

在上传图片的时候,我们的项目需要做一些上传后的处理。但是,在上传 JPEG 文件后运行代码

触发异常:

上传 PNG 文件时一切正常。

项目配置

我们的 Java EE 7 项目最初需要 TwelvesMonkeys 来处理 CMYK 编码的 JPG 图像。EAR 由以下部分组成:

  • 项目通用 (JAR)
  • project-ejb (EJB) => 依赖于 project-common
  • project-web (WAR) => 依赖于 project-common 和 project-ejb
  • project-rest (WAR) => 依赖于 project-common 和 project-ejb

project-common具有 TwelveMonkeys 依赖项:

通过传递性转发给其他组件。我们只处理.jp(e)g.png。我们还使用Thumbnailator和 TwelveMonkeys。

故障排除

  1. 文档这个 SO question之后,我在以下位置添加了监听器project-web

    在 Netbeans 下,com/twelvemonkeys/imageio/util/ProgressListenerBase存在于project-ejbproject-web所以我不明白为什么找不到该类

  2. 无论是否ImageIO.read(file)调用project-ejbor project-web,错误都是一样的

  3. ImageIO.scanForPlugins()我之前尝试添加ImageIO.read(file),错误是一样的

解决方法

下列的

另一个安全的选择是将 JAR 文件放在应用程序服务器的共享或公共 lib 文件夹中。

我已经手动放置了依赖项

{PAYARA_DIR}\glassfish\domains\{DOMAIN_NAME}\lib文件夹中而不删除侦听器。我将依赖项范围更改为,<scope>provided</scope>因为它没有嵌入到应用程序中。

我把它作为一种解决方法,因为我知道添加侦听器应该已经足够了,以至于手动添加依赖项似乎有点过头了。此外,即使我们不经常更改依赖项版本,更改 TwelveMonkeys 依赖项也意味着需要手动更新和替换这些依赖项。

问题:这种解决方法是唯一的解决方案还是我在哪里搞砸了?