我有一个字节数组,包含来自。bmp文件的像素值。它是通过以下操作生成的:
BufferedImage readImage = ImageIO.read(new File(fileName));
byte imageData[] = ((DataBufferByte)readImage.getData().getDataBuffer()).getData();
现在我需要重新创建。bmp图像。我试图通过调用setpixels
方法创建一个BufferedImage并设置WritableRaster的像素。但是我必须提供一个int[]、float[]或double[]数组。也许我需要把字节数组转换成其中一个。但我不知道怎么做。我还尝试了setDataElements
方法。但我也不确定如何使用这种方法。
编辑:@感知
这就是我到目前为止所做的:
只有字节数组是不够的。您还需要构造一个头(如果是从原始格式读取,例如在DICOM文件中)。
问题内容: 我打算在窗口内显示28x28像素的图像。像素的值为“ 0”,因此我希望它显示一个带有28x28黑色正方形的窗口。但是没有图像显示。也许数组的数据(我不确定像素值是否必须为0到255之间的整数)必须是其他数据才能显示图像。谢谢! 公共课程ASD { 问题答案: 返回栅格的 副本 。也许如果在修改栅格后调用,您将看到结果。 同样,应该给setPixels一个足够大的数组,以填充栅格的所有波
问题内容: 我正在尝试2天,以找到一种从数据库中检索一些图像的方法。它们被保存为二进制字符串(我在某个地方读过该术语,但坦率地说从未听说过)。 大多数图像都是格式化的,很容易获取并保存到文件中。但是我的问题是图像。由于某种原因,我当时无法显示。 现在,我正在使用一个简单的代码来获取图像并将其保存到文件中: 在和中都能正常工作,但是在尝试显示时格式不可读。 我已经发现但尚未解决的问题: http:/
问题内容: 使用Javascript,我正在对WCF服务进行AJAX调用,并且正在返回字节数组。如何将其转换为图像并显示在网页上? 问题答案: 我意识到这是一个旧线程,但是我设法通过Web服务上的AJAX调用做到了这一点,并认为我愿意分享… 我的页面中已经有图像: AJAX: 我的“ GetItemPreview”代码查询一个SQL Server,其中我将图像存储为base64字符串,并将该字段作
问题内容: 我有一个另存为的图像,我想在JasperReport中将其显示为图像。我尝试从Java方法获取数据: 和 和 但它们似乎都没有起作用。 jrxml看起来像这样: 我尝试的某些事情会出现异常,有些会打印JasperReport,但是应该在其中显示图像的区域为空白。我知道图像数据在那里,因为我可以在JSF页面中显示它。图像数据是SVG数据。 问题答案: 假设你的图像字节编码为base64,
问题内容: 由于数组中的equals函数仅检查实例,因此它不适用于Set。因此,我想知道如何在Java中制作一组数组? 一种可能的方法是将每个数组放在一个对象中,并为该类实现equals函数,但这会降低性能吗? 问题答案: 由于ArrayList类已经包装了一个数组,因此您可以扩展它并覆盖and 方法。这是一个示例: 更新: 您甚至可以重写它以用于一般用途,只需将代码更改为:
问题内容: 我正在寻找从中获取像素数据(以表格形式)的最快方法。我的目标是能够解决像素从使用图像。我发现的所有方法均不执行此操作(大多数方法都返回)。 问题答案: 我只是在玩同一个主题,这是访问像素的最快方法。我目前知道执行此操作的两种方法: 使用的答案中所述的BufferedImage 方法。 通过直接使用以下方式访问像素数组: 如果你要处理大图像并且性能是一个问题,则第一种方法绝对不是可行的方