问题标签 [jai]
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.
fonts - 获取在 Java Graphics 2 中使用任意 .ttf 字体呈现的字符串的总宽度
目前我们尝试获取使用任意字体呈现的字符串的宽度。
问题出在这条线...
对于大多数字体,这有效,但对于一些更高级的脚本字体,它似乎比我们预期的要宽。根据 FontMetrics.stringWidth 的 javadoc,您甚至可以阅读...
返回在此字体中显示指定字符串的总前进宽度。前进是字符串基线上从最左边点到最右边点的距离。请注意,字符串的前进不一定是其字符前进的总和。
java - setCompressionType 出错
有人可以帮助更正此代码吗?
我正在使用JAI
,我正在尝试将 JPG 文件压缩为无损这是我的代码
这部分总是错误的 param.setCompressionType("JPEG-LOSSLESS");
,错误是java.lang.IllegalArgumentException: Unknown compression type!
at javax.imageio.ImageWriteParam.setCompressionType(ImageWriteParam.java:1023)
java - 打印 .TIF 文件
我可以使用以下代码片段成功打印 .GIF、.JPG 或 .PNG,但它不适用于 .TIF 文件。即使添加了chromaticity.color
属性,我也无法获得颜色。
如何支持 .TIF 进行打印?
java - 使用 JAI,如何向调色板添加新颜色?
我正在使用 JAI 为图像添加“边框”。例如
上面 'consts' 的值取决于 ColorModel。使用 ComponentColorModel 时,每个像素都有自己的颜色,所以我不必弄乱调色板。当图像具有调色板(GIF、PNG、...)时,ColorModel 是 IndexColorModel。
当使用 IndexColorModel 时,'consts' 是一个 double[] 数组,大小为 1。数组中的值是调色板中的索引。
我已经找到了如何通过创建一个新的 IndexColorModel 来修改调色板,但是我必须编写的逻辑将是疯狂的!(例如,我可以在调色板中有多少种颜色取决于许多因素。此外,如果我需要从调色板中删除一种颜色以添加新颜色,我需要确定哪种颜色最好删除的逻辑和然后修改之前引用该颜色的所有像素——哇,那是很多代码!)
所以,我的问题是,如何向调色板添加颜色?有现成的图书馆吗?或者我应该使用 ioimage 的东西吗?(老实说,我有点困惑 jai “结束”和 ioimage “开始”。)
另外,附带问题,由于某种原因,我的调色板中只有大约 10 种颜色的测试图像被读取为具有 256 种颜色。然后当我用 jai 保存图像时,所有 256 种颜色都被保存(11 到 255 都是黑色)。知道为什么要这样做吗?
谢谢!大卫
java - 使用 ColorConverterOp Java 将 RGB JPEG 转换为 CMYK JPEG
我正在尝试将 rgb 中的 jpeg 图像转换为 CMYK 颜色空间。唯一的问题是我的最终输出始终是黑色图像。但有趣的是,MAC 中的预览应用程序可以正确显示图像。到目前为止,似乎没有一个成功的 rgb 到 cmyk 转换的例子。下面是我用来尝试转换的代码。如果我使用 RGB ICC 配置文件执行到 rgb 的转换,此代码工作正常。非常感谢任何指导。
java - 使用 JAI 在 Java 中使用 TIFF 呈现更快的性能
我一直在研究分析显微镜数据的软件,这些数据存储为多层 tiff 文件。在查看了 StackOverflow 和 JAI 文档之后,我拼凑了一些代码来存储 tiff 堆栈并正确呈现它。
但是,它的性能很差。在阅读了这样的帖子后,我曾希望能获得更快的性能: 任何人都有用 Java 编写一个非常快速的 tiff 查看器/编辑器的运气吗?
不幸的是,它并没有我希望的那么好。我在使用外部图像库或 Java 的图形功能方面没有太多经验,所以我不确定如何改进这一点。
在某些情况下,这是我在遍历 tiff 堆栈时遇到的“口吃”视频: http ://www.youtube.com/watch?v=WiR4o6TsqyM&feature=channel_video_title
请注意,当拖动滑块时,帧偶尔会出现断断续续的情况。
我通过在缩放时移除平滑来提高图像放大时的性能,但它仍然没有我想要的那么快。
我的代码如下:
我已经使用 JAI 将多层 tiff 加载到 imageDecoder 中,并在拖动滑块时显示正确的图层,我使用以下代码:
基本上,每当拖动滑块时,我都会从 imageStack 中提取渲染图像,将其转换为 BufferedImage(以便它可以与 ImageIcon 一起使用),对其进行缩放,并将其设置为显示的图像。我认为缓慢的部分是将其转换为缓冲图像,并对其进行缩放。有什么办法可以更快地做到这一点?
有没有人对如何改进事情有任何建议,或者从类似的经历中获得洞察力?
任何帮助将非常感激。
java - 基于颜色直方图的图像搜索
我需要根据java中的颜色直方图比较图像。我有使用 java 的 JAI 所做的图像直方图。
但我不知道如何使用直方图比较它们。
java - 使用 BufferedImage 和 JAI 从文件中读取 TIFF 图像
我正在尝试使用 BufferedImage 从文件中读取 TIFF 图像。以下是我的代码:
但它不起作用。我有一个名为 testInput 的方法来测试文件是否被正确读取:
他们三个总是返回“false”,上面的代码总是返回“出错了!”。我已经为插件添加了 JAI ImageIO 来读取 TIFF 图像。知道似乎是什么问题吗?
java - ColorConvertOp 的更快替代方案
我有一种方法将类型为 TYPE_CUSTOM 的 BufferedImages 转换为 TYPE_INT_RGB。我正在使用以下代码,但是我真的很想找到一种更快的方法来执行此操作。
它工作正常,但是速度很慢,我想知道是否有更快的方法来进行这种转换。
转换前的颜色模型:
转换后的颜色模型:
谢谢!
更新:
事实证明,使用原始像素数据是最好的方法。由于 TYPE_CUSTOM 实际上是 RGB 转换,因此手动转换很简单,并且比 ColorConvertOp 快 95%。
java - 使用 Java 进行 Android 图像编辑/变形?
希望不要让这太模糊......但我一直在处理大量图像缩放和操作我正在开发并想知道的应用程序:
使用 java 代码扭曲图像是否可能/可行,如果可以,是否可能?我已经阅读了 JAI,但似乎不能很好地掌握它。是否有任何形式的内置实现适用于 Android 2.3 或更高版本?
有人可能遇到的任何教程或示例都会有很大的帮助,因为我已经研究了一段时间并且似乎无法获得任何基础。
最终目标:能够在多个位置扭曲图像(按像素点对点),然后保存位图。这将在幕后处理并向用户显示最终结果。