【发布时间】:2021-12-16 00:34:03
【问题描述】:
我想在 Kotlin 中更改像素的颜色。我得到一个像素,想为它设置新值,但我在 setRGB 方法中得到一个错误,它需要 IntArray!但找到了数组:
val c: Int = bufferedImage.getRGB(x, y)
val color = Color(c)
val newColor = Array<Int>(3) { color.red; 0; 0 }
bufferedImage.setRGB(x, y, 0, 0, newColor, 0, 0)
另外,我正在用 Kotlin/Java 编写代码,但找不到 setRGB() 方法如何工作的详细说明。我从 Intelij IDE 知道参数是:setRGB(x, y, width, height, IntArray for rgb color, offset, scansize)。
但是什么是宽度,高度?是图片的尺寸吗?如果我只改变一个像素,它们为什么重要?
以及如何将新颜色作为 IntArray 正确传递给 setRGB() 方法?
【问题讨论】:
-
但是如何将 Color 类型转换为 int 呢?例如颜色(255, 0, 0)?
-
我在下面发布了一个答案。
-
好的,谢谢。这就是我苦苦挣扎的事情,并开始寻找另一个函数构造函数。现在修好了。谢谢!
标签: java kotlin intellij-idea rgb bufferedimage