当前位置: 首页 > 知识库问答 >
问题:

如何创建像素值数组?

彭梓
2023-03-14

我试图创建一个双脚本数组,该数组具有java中图像的所有RGB值。之后,我想看看像素是黑色还是白色。然而,下面的代码给了我一个ArrayIndexOutofBounds错误,我不知道为什么。任何帮助都将不胜感激!

int[][] imageArr = new int[image.getTileHeight()+1][image.getTileWidth()+1];
    for (int a=0; a<image.getTileHeight(); a++)
    {
        for (int b=0; b<image.getTileWidth(); b++)
        {
            imageArr[a][b] = image.getRGB(a,b);               
        }
    }

堆栈错误跟踪:

java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
    at sun.awt.image.ByteInterleavedRaster.getDataElements(ByteInterleavedRaster.java:318)
    at java.awt.image.BufferedImage.getRGB(BufferedImage.java:888)
    at image2.main(image2.java:34)

共有1个答案

吕昀
2023-03-14

如果你想为完整的映像获取它,那么你需要在循环和数组初始化中使用getHeightgetWidth not getTileHeightgetTileWidth

这些导致 getRBG 在尝试获取嵌入BufferedImage 中的栅格数据的图像时,会抛出 ArrayIndexOutOfBounds

 类似资料:
  • 问题内容: 我从使用方法获得像素。像素存储在名为的数组中。在对数据数组进行一些操作之后,我需要再次创建一个,以便可以将其传递到一个模块,该模块将显示来自此数据数组的修改后的图像,但我对此感到困惑。 问题答案: 然后再次设置像素。 PS:如评论中所述,请使用@TacticalCoder的答案

  • 问题内容: 我打算在窗口内显示28x28像素的图像。像素的值为“ 0”,因此我希望它显示一个带有28x28黑色正方形的窗口。但是没有图像显示。也许数组的数据(我不确定像素值是否必须为0到255之间的整数)必须是其他数据才能显示图像。谢谢! 公共课程ASD { 问题答案: 返回栅格的 副本 。也许如果在修改栅格后调用,您将看到结果。 同样,应该给setPixels一个足够大的数组,以填充栅格的所有波

  • 有没有一种方法,每当I$push monodb数组中的新元素时,都会向它添加一个普通的_id?我记得mongoose是自动执行类似操作的,但现在我使用mongodb的原生js,它似乎没有插入任何id。 示例: 执行时,messages数组应具有常规的_id字段、message和date。目前它只创建消息和日期。

  • 你正在寻找一种新颖的聚焦图像方法?像素化图像聚焦怎么样?本节,我们将探讨图像像素化的艺术,我们的做法是,遍历一个算法,该算法像素化一副图像,并使像素化的程度越来越小,直到图像完全被聚焦。 图3-10 图像聚焦 警告:由于getImageData()方法的安全限制,本节的例子必须在Web服务器上运行。 绘制步骤 按照以下步骤,创建一个像素化函数,该函数慢慢聚焦一幅图像: 1. 定义focusImag

  • 问题内容: 在Python中,可以向1构造函数传递一系列键值对: 除了为此目的定义我自己的函数外,我想不出其他任何方法来在JavaScript中执行此类操作: 但是我是JS新手…这种对对对象转换是否内置任何内容? 1出于这个问题的目的,我将Python字典视为JS对象的Python副本,尽管当然相似性仅限于它们都是键值集合这一事实。 问题答案: 在撰写本文时(2013年),JavaScript对象

  • 问题内容: 我正在尝试在Swift中构建Promises的基本实现,并且我需要能够向数组中添加函数,但是我不确定如何使它起作用。 我发现,当我尝试执行以下操作时,Swift Playground不会建议您: 这很有道理-Swift无法推断出-的类型,但这就是我的问题所在。我不确定如何预定义函数数组。 是否可以在Swift中创建函数数组?我想是这样,职能是一等公民。 问题答案: 绝对有可能,只需将数