Tag: 颜色

Java颜色检测

我希望在Java中实现一个读取图像的function,并能够检测出红色,蓝色,绿色,黄色等阴影,作为卫星图像分析程序的一部分。 因此,例如在标准卫星图像中,蓝色将是水,因此我希望程序读取多少像素是蓝色然后它可以说x%的图像是水。 我知道通过读取每个像素的RGB值可以使用一整套逻辑语句,但有更简单的方法吗? 否则将有数百个if语句需要很长时间才能写入,但也需要很长时间才能执行。 理想情况下ID就像这样: if (pixelValue = red) { redCounter++; } 这显然非常简单,但它可以节省必须经历红色,蓝色,绿色,黄色,紫色等的每个可能的RGB组合,这些是一些彩色图像中存在的所有颜色。 提前致谢。

更改java控制台输出的颜色

我想知道是否有一些东西让我设置我用Java输出到控制台的文本的颜色。 它是否是系统特定的并不重要,因为该程序只能在我的Windows 7 x64笔记本电脑上运行。 这个问题:几周前在java eclipse控制台中改变了颜色并且有一个很好的解决方案(由@VonC)来解决类似的问题,但它只解决了eclipse中的问题。 如果我从命令行执行我的程序可以达到同样的效果吗? 如果是这样怎么样?

drawingPanel颜色随位移而变化

我正在使用JGrasp,在drawingPanel ,我正在尝试创建一个在屏幕上移动时改变颜色的球。 现在,我有: for (int i = 10; i<=i; i++) { Color c = new Color(i*i, 0, 0); pen.setColor(c); 我的完整简化代码是: import java.awt.*; import java.util.*; import java.awt.Color; public class BallSample { public static final int SIZE = 30; public static final int HALF = SIZE / 2; public static void main(String[] args) { Scanner console = […]

更快速地设置(PNG)位图颜色而不是逐个像素

我有一些png文件,我正在应用一种颜色。 颜色根据用户选择而变化。 我通过另一种方法设置的3个RGB值更改颜色。 png文件是随机形状,在形状外部具有完全透明。 我不想修改透明度,只修改RGB值。 目前,我正在逐像素设置RGB值(请参阅下面的代码)。 我已经意识到这非常缓慢,并且在应用程序中可能效率不高。 有没有更好的方法可以做到这一点? 这是我目前正在做的事情。 您可以看到像素arrays对于占据屏幕的相当一部分的图像来说是巨大的: public void foo(Component component, ComponentColor compColor, int userColor) { int h = component.getImages().getHeight(); int w = component.getImages().getWidth(); mBitmap = component.getImages().createScaledBitmap(component.getImages(), w, h, true); int[] pixels = new int[h * w]; //Get all the pixels from the image mBitmap[index].getPixels(pixels, 0, w, 0, 0, w, h); //Modify […]

JPanel在更改背景时不保持颜色alpha

jpanel的背景颜色变得比以前更加不透明。 值得注意的是我正在使用jpanel的setBackground方法。 以下是您可能想要查看的代码的一些链接。 自定义GUI按钮 Gui它在 – 看第158行。

将RGBA值转换为hex颜色代码

我的应用程序中有一些滑块允许用户更改ARGB颜色,但我需要将这些值转换为hex值,如0xff000000,它是纯黑色。 这是我到目前为止: protected int toHex(Color col) { String as = pad(Integer.toHexString(col.getAlpha())); String rs = pad(Integer.toHexString(col.getRed())); String gs = pad(Integer.toHexString(col.getGreen())); String bs = pad(Integer.toHexString(col.getBlue())); String hex = “0x” + as + rs + gs + bs; return Integer.parseInt(hex, 16); } private static final String pad(String s) { return (s.length() == 1) ? “0” + s : […]

Robot的getPixelColor(int x,int y)方法如何工作?

Robot类的方法getPixelColor(int x,int y)究竟是如何工作的? 我试过这个代码片段: try { Robot robos = new Robot(); } catch (AWTException e) { } for (int i = 0; i < 100; i++) robos.getPixelColor(0, 0); System.out.println("fsadf"); 在我的电脑上,这是一个核心2组合,执行print语句需要一秒或更短的时间。 但是,当我在我的笔记本电脑上运行相同的代码时,这是一个核心i3,它花费了更多的时间(大约2-3秒)。 这背后的原因是什么? 是否与屏幕质量有关? 我怎么解决这个问题?

按位操作 – 如何更改现有颜色?

我已经阅读了按位运算符(&| ^),我理解如果我这样做: alpha = 0xFF000000 >> 24 ; blue = 0xFF0000FF & 0x000000FF; red = 0xFFFF0000>>16 & 0x000000FF; green = 0xFF00FF00>>8 & 0x000000FF; 然后,我可以掩盖其他颜色,只有红色或蓝色(等…)组件,如果我这样做 int color = alpha | blue | red | green; 然后我再次重新构建颜色可以这么说。 我很好奇的是如果我想在Java中用两种颜色之间创建双线性插值。 我该怎么做呢? 我想从标准绿色(0xFF00FF00)开始,以黑色(0xFF000000)结束,中间的颜色将从绿色变为深绿色,直到最终变为黑色。 我认为我必须做一些事情,我创建一个bufferedImage,从顶部开始绿色,然后可能创建一个for循环,它将读取前一个像素的颜色,然后移动一些东西,直到以前的颜色的新版本是创建等等。 不幸的是,我不确定如何实现这一点,因为我理解按位运算和理论上的转变,但我不确定如何将它们用于此目的。 任何帮助将不胜感激! 先感谢您!

如何在SeekBar中制作颜色渐变?

我想将SeekBar(即旧式Java Slider)用于颜色渐变选择器。 我见过这样的一些例子,但它们都需要创建新类等。 必须有一种方法来修改或覆盖原始类。 或者只是用渐变替换背景。

单击按钮时如何显示颜色选择器?

我正在制作一个绘制一些形状并用颜色填充它们的程序。 我需要更改“线条”颜色,并希望用户能够选择颜色。 单击“选择颜色”按钮时,如何在按钮下方显示一组颜色? 选择器是否可以嵌入按钮下方的UI中(而不是在窗口中弹出)? 我想在Paint中显示一个颜色选择器。