问题标签 [bufferedimage]

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 投票
4 回答
10127 浏览

java - 在 Java 中为图像着色

我正在编写一些代码来为 Java 中的图像着色。基本上我想做的是与 GIMP 的 colorize 命令类似的东西,所以如果我有一个 BufferedImage 和一个颜色,我可以用给定的颜色为图像着色。有人有什么想法吗?我目前对做这样的事情的最佳猜测是获取 BufferedImage 中每个像素的 rgb 值,并使用一些缩放因子将 Color 的 RGB 值添加到其中。

0 投票
1 回答
366 浏览

java - IKVM 中的缓冲图像

BufferedImage用 IKVM 替换我正在转换为 .NET 的 Java 项目的缺失功能的最佳和/或最简单的方法是什么?

运行应用程序时,我基本上得到“ cli.System.NotImplementedExceptionBufferedImage ”异常,否则运行良好。

0 投票
1 回答
1207 浏览

java - 调整 TYPE_CUSTOM BufferedImages 的大小?

当我从磁盘读取 JPEG 文件时,Java 有时会给我一个 BufferedImage,它的 getType() 返回 TYPE_CUSTOM——也就是说,它有一个自定义颜色模型。我想调整这个 BufferedImage 的大小,但我不确定如何构造目标对象。有人可以提供使用以下构造函数的示例代码吗?

BufferedImage(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable 属性)

我想创建一个与源相同类型的 BufferedImage,只是更大,然后将内容传输过来。有任何想法吗?

0 投票
1 回答
730 浏览

java - MemoryCacheImageOutputStream 到 BufferedImage

我有一些图像约束代码,允许您输出到 MemoryCacheImageOutputStream,但我需要将其恢复为 BufferedImage,有什么建议吗?

0 投票
2 回答
66760 浏览

java - 如何在 java 中正确加载 BufferedImage?

好的,所以我一直在尝试使用以下代码加载 BufferedImage:

但是,当我运行它时,这会给我一个类型转换错误,那么我该如何正确加载 BufferedImage?

0 投票
6 回答
32070 浏览

java - 如何计算 java BufferedImage 文件大小

我有一个基于 servlet 的应用程序,它从本地存储的文件中提供图像。我添加了逻辑,允许应用程序将图像文件加载到 BufferedImage,然后调整图像大小,在图像顶部添加水印文本,或两者兼而有之。

我想在写出图像之前设置内容长度。除了将图像写入临时文件或字节数组之外,有没有办法找到 BufferedImage 的大小?

如果这有助于计算大小,所有文件都被写为 jpg。

0 投票
6 回答
25520 浏览

java - 更改 BufferedImage 的 alpha 值?

如何在 Java 中更改 BufferedImage 的全局 alpha 值?(IE 使图像中 alpha 值为 100 的每个像素的 alpha 值为 80)

0 投票
3 回答
4905 浏览

java - 通过 JNI C 代码将 PNG 图像作为 BufferedImage 加载到 Java 中

我有以下问题。我有 C 代码,它获取 PNG 图像作为基本的原始数据并将其保存在内存中。我希望通过使用 JNI 将这些原始数据转换为 Java 中的 BufferedImage。有没有人知道这样做的任何方式或以前这样做过?

0 投票
1 回答
1888 浏览

java-native-interface - 试图通过 JNI 将原始图像数据读入 Java

我正在使用 JNI 获取以下格式的原始图像数据:

图像数据以线性数组中每个像素的 DATA32(32 位)格式返回,从图像的左上角到右下角,每行从左到右排列。每个像素都有高 8 位作为 alpha 通道,低 8 位是蓝色通道 - 所以一个像素的位是 ARGB(从最高有效到最低有效,每个通道 8 位)。您必须在某个时候将数据放回原处。

DATA32 格式本质上是 C 中的无符号整数。

所以我获得了一个 int[] 数组,然后尝试通过它创建一个缓冲图像

f 是具有像素数据的数组。

根据 Java 文档,这应该可以工作,因为 BufferedImage.TYPE_INT_ARGB 是:

表示包含 8 位 RGBA 颜色分量的图像,这些分量被打包到整数像素中。该图像具有带 alpha 的 DirectColorModel。此图像中的颜色数据被认为没有与 alpha 进行预乘。当此类型作为 BufferedImage 构造函数的 imageType 参数时,创建的图像与 JDK1.1 及更早版本中创建的图像一致。

除非通过 8 位 RGBA,否则它们意味着加在一起的所有组件都以 8 位编码?但这是不可能的。

此代码确实有效,但生成的图像与它应该生成的图像完全不同。有成吨的文物。任何人都可以在这里看到明显错误的东西吗?

注意我获得了我的像素数据

在我的 C 代码中,使用库 imlib2 和 api http://docs.enlightenment.org/api/imlib2/html/imlib2_8c.html#17817446139a645cc017e9f79124e5a2

0 投票
2 回答
3365 浏览

java - Java 不使用 ConvertColorOp 将 BufferedImage 的 ColorSpace 转换为 CS_GRAY

我知道可以使用将图像转换为 CS_GRAY

然而,这是我整个程序的瓶颈。我需要经常在 800x600 像素的图像上执行此操作,并且平均需要大约 200-300 毫秒才能完成此操作。我知道我可以通过使用一个 for 循环来循环图像数据并立即设置它来更快地做到这一点。另一方面,上面的代码构建了一个全新的 800x600 BufferedImage,它是灰度的。我宁愿只是转换我传入的图像。

有没有人知道如何使用 for 循环并假设图像是 RGB 颜色空间?