- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 JAI 库对一系列图像进行调整,每个图像的大小约为 1300x1000。我使用“Rescale”调整像素强度,并使用 TiledImage.createGraphics() 方法中的 Graphics2D 对象添加文本和线条。然后,我使用“subsampleaverage”调整图像大小以适合屏幕,并使用 Graphics2D.drawRenderedImage() 渲染到屏幕。到目前为止,速度几乎没有减慢,渲染大约需要 40-60 毫秒。
但是,如果我只添加文本和线条,显示速度会减慢至 100-200 毫秒。我似乎无法弄清楚这是为什么,因为在调整像素强度之后或之前添加文本就可以了。
我一直在该网站上搜索,但似乎找不到任何具体答案。许多建议都是使用 BufferedImages,但从 PlanarImages 转换为 BufferedImages 似乎也存在速度减慢的问题。
最佳答案
显然,Java 中文本的渲染速度仍然非常慢。每个 Font
对象的字形必须在 Graphics
对象上渲染和绘制。由于对象上有大量文本,Font
对象以及所有使用的Glyphs
都会被重新创建,从而导致速度大幅下降。
即使使用 JOGL,速度也会显着下降。但使用相同的 TextRenderer
对象可以通过创建单个 Font
对象并在 TextRenderer
处于 Activity 状态时重复使用它来缓解这种情况。当然,这限制了您使用多个 Font 对象,因为 JOGL 尚未实现 setFont
函数,需要您为每个新字体、字体样式和字体粗细创建一个新的 TextRenderer
对象。
希望这对遇到类似问题的人有所帮助。
关于java - JAI 图像调整瓶颈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849769/
我在我的应用程序中使用了 jai(Java Advance Imaging)。 当我使用 jai 设置时,我觉得我的图像处理速度更快,但它需要在用户计算机上安装这些设置。 当我使用 Jai 的 Jar
我正在尝试使用 javax.media.jai.JAI 读取 .tif 图像。这是我的代码: import javax.media.jai.JAI; import javax.media.jai.Re
JAI 的 FileLoad/FileStore 操作和 ImageRead/ImageWrite 操作有什么区别? 其中一套在任何方面都比另一套更好吗?哪些应该用作默认值? 最佳答案 FileLoa
我最近使用 GeoTools 开始了我的第一个程序,其中我还使用了 JAI-Java Advanced Imaging 1_1_2_01 和 JDK 1_7。 在我添加 GeoTiff Jars 之前
我正在使用 JAI 读取 java 中的 Tiff 文件。使用此代码: RenderedOp renderer = JAI.create("fileload", tifFilename); retur
我想知道是否有人有让 JAI 从多个平台的小程序自动安装的经验。我看过 http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide
我正在使用 JAI 库对一系列图像进行调整,每个图像的大小约为 1300x1000。我使用“Rescale”调整像素强度,并使用 TiledImage.createGraphics() 方法中的 Gr
我正在此处查看现有的 Java CT 图像 显示程序。我尝试了解查找表在JAI中的工作原理。 来自JAI guide, section 7.6 ,我读到了这个: 输入像素值充当查找表输入的地址。查找表
我尝试保存 tiff 而不是彩色灰度。我怎么能这样做? (必须使用JAI,因为它是tiff!) 提前致谢并致以最诚挚的问候。 最佳答案 你想要的是下载 JAI Image I/O Tools ,它为
本文整理了Java中javax.media.jai.WarpPolynomial类的一些代码示例,展示了WarpPolynomial类的具体用法。这些代码示例主要来源于Github/Stackover
本文整理了Java中javax.media.jai.WarpAffine类的一些代码示例,展示了WarpAffine类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Mav
我已经读取了相当大的图像(jpeg)的应用程序,但只需要处理较小的图像,因此我使用类似的东西对它们进行子采样 ImageReadParam param = reader.getDefaultReadP
我正在尝试使用 JAI 创建一个由 4 个 TIF 图像组成的马赛克,每个图像的尺寸为 5000 x 5000。我编写的代码如下.. RenderedOp mosaic=null; P
我正在尝试使用 GeoTIFF-jai 库在 Java 中生成经过地理校正的光栅图像。我尝试在 SourceForge 网站上查找有关如何执行此操作的文档,但 SourceForge 说“不幸的是,该
JAI ImageIO-core 附带一组 native 编解码器。编解码器捆绑在一组 .so 和 .dll 文件中。主要是clib_jiio.dll clib_jiio_sse2.dll clib_
我正在尝试将多个图像串联成一个,但遇到了问题。为了隔离这个问题,我创建了以下 POC,我正在尝试解决该问题,以便了解如何使用 JAI API。 在 POC 中,我有两个图像“image1.gif”和“
我正在使用 JAI 向图像添加“边框”。例如 ParameterBlock pb = new ParameterBlock(); pb.addSource(r); pb.add(leftPad); p
我一直在使用 JAI 来写入和读取 TIFF 图像,但我最近在编码灰度图像时遇到了一个问题,我在每个 strip 的末尾得到 7 个黑色 (0) 像素 (8每条线数): 只有在使用下面的 SSCE 将
我想开发具有大量图像处理功能的程序。我想使用 Java 和 JAI,但在我看来,Jai 已经老了,不再进化了? ( http://java.sun.com/javase/technologies/de
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我是一名优秀的程序员,十分优秀!