【发布时间】:2013-11-16 15:30:43
【问题描述】:
我想在 Java 中制作图像的负片,但我不确定如何将 Color 对象转换为可以操作的数组。这是我的代码的 sn-p:
Color col;
col = picture.getPixel(x,y).getColor();
//x and y are from a for loop
picture.getPixel(x,y).setColor(~~~);
setColor 接受三个整数,每个颜色通道 RBG 一个。我想将Color col 转换为我可以读取的数组。类似于以下内容:
picture.getPixel(x,y).setColor(255-col[0],255-col[1],255-col[2]);
255-col[n] 当然会创建像素的负值,但是当我想将Color col 作为一个数组访问时,它不是一个数组。如何将Color 对象转换为数组?
我可以做类似下面的事情而不使用 Color 对象,
r = picture.getPixel(x,y).getRed(); //r is now an integer 0-255
//repeat the above for green and blue
picture.getPixel(x,y).setColor(r,g,b);
但我更愿意在一行中完成。
【问题讨论】:
-
Color 有 3 种方法:getRed()、getGreen()、getBlue()。 docs.oracle.com/javase/6/docs/api/java/awt/Color.html也许使用这些值并根据您的需要进行操作就足够了?