问题标签 [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 投票
2 回答
5351 浏览

java - 使用 BufferedImage 创建非常大的图像文件,奇怪的问题取决于编译和计算机

我正在尝试在 Java 中创建一个非常大的图像,如下所示:

BufferedImage bi = new BufferedImage(58240, 1664, BufferedImage.TYPE_INT_RGB);

显然图像非常大。

现在我遇到的问题是,它在某些计算机上似乎可以 100% 正常运行,但在其他计算机上运行速度却很慢(这与规格无关)。

我最大的突破来自 Eclipse,IDE 拒绝实际显示图像,而是在其中一台显示图像非常缓慢的计算机上抛出错误(调整图像大小等需要相当长的时间):

线程“AWT-EventQueue-0”java.lang.OutOfMemoryError 中的异常:Java 堆空间

该错误的另一个有趣元素是,即使在它运行缓慢的计算机上,我也可以调整它所在的窗口的大小,直到不再调用绘图函数,然后再次将其变大,如果我做得“正确”,它会运行 100 % 的速度。

完全不知道发生了什么,有什么想法吗?

0 投票
1 回答
2161 浏览

java - 在 Java3D 中渲染到 BufferedImage

有没有一种简单的渲染到BufferedImageJava3D 中的方法?

我知道你可以扩展Canvas3D,但如果我只想直接渲染,这似乎很麻烦。

0 投票
1 回答
1764 浏览

java - 为什么我的离屏渲染 Canvas3D 不起作用?

我一直在尝试使用Java3D 1.5.2使屏幕外渲染正常工作。在我的源代码中,我一直在尝试附加一个扩展Canvas3D,它将进行屏幕外渲染SimpleUniverse,但这样做会破坏渲染:

完整的源代码有点太大,无法粘贴到 StackOverflow 上,所以我通过 Pastie 在这里提供了它。

第 63 行已被注释掉,并让普通的 Canvas3D 进行屏幕渲染。它将渲染一个立方体并将其显示在JFrame. 但是,如果您删除评论,屏幕外渲染将导致屏幕上的内容无法渲染。此外,屏幕外渲染将返回 "big black nothing" BufferedImage

我想知道如何使屏幕外渲染工作,即将旋转立方体的场景渲染为缓冲图像。我一直在查看 Java3D 提供的屏幕外渲染示例代码,他们也这样做(除了他们使用Raster对象将屏幕外缓冲区渲染回屏幕窗口之外)。

0 投票
5 回答
47380 浏览

java - 将 BufferedImage 设置为 Java 中的颜色

我需要创建一个BufferedImage具有指定背景颜色的矩形,在背景上绘制一些图案并将其保存到文件中。我不知道如何创建背景。

我正在使用嵌套循环:

但是当图像很大时它很慢。

如何以更有效的方式设置颜色?

0 投票
5 回答
7300 浏览

java - Java TGA 加载器

我正在为 java 寻找一个小型且免费的 TGA 图像加载类或库。理想情况下,结果是一个 BufferedImage。

是的,我已经用谷歌搜索过了,但大多数结果都已经过时了,或者是相当大的库,其中包含很多我不需要的其他东西。我正在寻找只读取 TGA 图像的小而简单的东西。

谢谢!

0 投票
4 回答
339 浏览

java - 获取小程序的屏幕截图?

给定一个 Applet 对象,是否有可能以编程方式获取 Applet 窗口的“屏幕截图”(表示为 BufferedImage)?

0 投票
2 回答
3890 浏览

java - 从 File 更改为 BufferedImage 时出现 IOException

错误:未处理的异常类型 IOException。

如何从文件位置获取 bufferedImage?

0 投票
1 回答
20848 浏览

java - 如何在具有透明度的 java BufferedImage 中读取像素颜色

我正在读取 BufferedImage 中的像素颜色,如下所示:

现在这工作正常,除了具有透明度的png。我发现如果 x,y 指的是没有颜色的透明像素,我仍然会读取一种颜色,通常与图像中其他地方使用的颜色相同。

如何检测像素实际上是透明的而不是彩色的?

谢谢

0 投票
4 回答
73941 浏览

java - 如何在 JFrame 中显示 BufferedImage?

我想在同一个 JFrame 中显示同一图像的变体,例如在 JFrame 中显示一个图像,然后用同一图像的灰度替换它。

0 投票
1 回答
6701 浏览

java - 使用 ClassLoader.getResource() 加载 BufferedImage

我正在尝试加载与我的 Eclipse java 项目本地存储在同一目录中的图像文件 (gif):

ref是存储gif图像的相对路径。

使用上述方法的客户端代码是:

在 Eclipse 工作区和我的项目目录中,我有一个文件夹sprites,其中存储了 gif 图像。但是客户端代码总是返回:Can't find ref: sprites/ship.gif

我在上面加载 gif 图像的方法中做错了吗?在这种情况下,是否有更好更直接的方法来进行文件查找?

非常感谢您的任何建议。