我有以下问题。我有一个图表程序,它的设计是黑色的,但是图表(从服务器获取的图像)是浅色的(实际上只使用了5种颜色:红色,绿色,白色,黑色和灰色)。
为了适应设计反转,倒置做得很好,唯一的问题是红色和绿色也被反转了(绿色变成粉色,红色变成绿色)。
有没有办法除了这两种颜色以外反转其他所有东西,或者在反转后重新绘制这些颜色?
这些操作的成本如何(因为我经常获取图表更新)?
先谢谢了 :)
更新
我尝试用循环中的setPixel方法替换颜色。
为了适应设计反转,倒置做得很好,唯一的问题是红色和绿色也被反转了(绿色变成粉色,红色变成绿色)。
有没有办法除了这两种颜色以外反转其他所有东西,或者在反转后重新绘制这些颜色?
这些操作的成本如何(因为我经常获取图表更新)?
先谢谢了 :)
更新
我尝试用循环中的setPixel方法替换颜色。
for(int x = 0 ;x < chart.getWidth();x++) {
for(int y = 0;y < chart.getHeight();y++) {
final int replacement = getColorReplacement(chart.getPixel(x, y));
if(replacement != 0) {
chart.setPixel(x, y, replacement);
}
}
}
很遗憾,这种方法太慢了(约650ms),是否有更快的方法来做这件事,setPixels()方法能更快地工作吗?