java.awt.Color#getHSBColor ( )源码实例Demo

下面列出了java.awt.Color#getHSBColor ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mars-sim   文件: ZebraJTable.java
private void updateZebraColors( )
    {
        if ( (rowColors[1] = getBackground( )) == null )
        {
            rowColors[1] = rowColors[0] = Color.white;
            return;
        }
        final Color sel = getSelectionBackground( );
        if ( sel == null )
        {
            rowColors[0] = rowColors[1];
            return;
        }
        final float[] bgHSB = Color.RGBtoHSB(
            rowColors[1].getRed( ), rowColors[1].getGreen( ),
            rowColors[1].getBlue( ), null );
        final float[] selHSB  = Color.RGBtoHSB(
            sel.getRed( ), sel.getGreen( ), sel.getBlue( ), null );
        rowColors[0] = Color.getHSBColor(
            (selHSB[1]==0.0||selHSB[2]==0.0) ? bgHSB[0] : selHSB[0],
            0.1f * selHSB[1] + 0.9f * bgHSB[1],
//            bgHSB[2] + ((bgHSB[2]<0.5f) ? 0.05f : -0.05f) 
            // Match the slightly darkened background color of a zebra row
            bgHSB[2] + ((bgHSB[2]<0.5f) ? 0.0005f : -0.0005f) 
            );
    }
 
源代码2 项目: rapidminer-studio   文件: AttributeGuiTools.java
/**
 * Transforms the given color in regard to the scope. If the scope is {@code null} the given
 * color will be returned.
 *
 * @param color
 *            the color which should be transformed
 * @param scope
 *            the purpose of the the color
 * @return the transformed color
 */
private static Color transformColor(Color color, ColorScope scope) {
	if (color == null || scope == null) {
		return color;
	}
	float hsb[] = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);
	float sFactor = 1;
	float vFactor = 1;
	switch (scope) {
		case BORDER:
			sFactor = 3f;
			vFactor = .6f;
			break;
		case CONTENT:
			sFactor = 1.5f;
			vFactor = .8f;
			break;
		case HOVER:
			vFactor = .95f;
			break;
		case BACKGROUND:
		default:
	}
	return Color.getHSBColor(hsb[0], Math.min(sFactor * hsb[1], 1f), vFactor * hsb[2]);
}
 
源代码3 项目: osp   文件: VectorColorMapper.java
private void createRedSpectrumPalette() {
  colors = new Color[numColors];
  compColors = new Color[numColors];
  int bgr = background.getRed();
  int bgg = background.getGreen();
  int bgb = background.getBlue();
  for(int i = 0; i<numColors; i++) {                              // start with the background and increase toward pure RED
    int tr = bgr+(255-bgr)*i/numColors;                           // increase the red
    int tg = bgg-bgg*i/numColors;                                 // decrease the green
    int tb = bgb-bgb*i/numColors;                                 // decrease the blue
    colors[i] = new Color(tr, tg, tb);
    float[] hsb = Color.RGBtoHSB(tr, tg, tb, null);
    Color c = Color.getHSBColor((hsb[0]+0.5f)%1, hsb[1], hsb[2]); // complementary hue
    tr = bgr+(c.getRed()-bgr)*i/numColors;
    tg = bgg+(c.getGreen()-bgg)*i/numColors;
    tb = bgb+(c.getBlue()-bgb)*i/numColors;
    compColors[i] = new Color(tr, tg, tb);
  }
}
 
源代码4 项目: mars-sim   文件: CustomLedColor.java
public CustomLedColor(final Color COLOR) {
    this.COLOR = COLOR;
    final float HUE = Color.RGBtoHSB(COLOR.getRed(), COLOR.getGreen(), COLOR.getBlue(), null)[0];
    if (COLOR.getRed() == COLOR.getGreen() && COLOR.getRed() == COLOR.getBlue()) {
        INNER_COLOR1_ON = Color.getHSBColor(HUE, 0.0f, 1.0f);
        INNER_COLOR2_ON = Color.getHSBColor(HUE, 0.0f, 1.0f);
        OUTER_COLOR_ON = Color.getHSBColor(HUE, 0.0f, 0.99f);
        CORONA_COLOR = Color.getHSBColor(HUE, 0.0f, 1.00f);
        INNER_COLOR1_OFF = Color.getHSBColor(HUE, 0.0f, 0.35f);
        INNER_COLOR2_OFF = Color.getHSBColor(HUE, 0.0f, 0.35f);
        OUTER_COLOR_OFF = Color.getHSBColor(HUE, 0.0f, 0.26f);
    } else {
        INNER_COLOR1_ON = Color.getHSBColor(HUE, 0.75f, 1.0f);
        INNER_COLOR2_ON = Color.getHSBColor(HUE, 0.75f, 1.0f);
        OUTER_COLOR_ON = Color.getHSBColor(HUE, 1.0f, 0.99f);
        CORONA_COLOR = Color.getHSBColor(HUE, 0.75f, 1.00f);
        INNER_COLOR1_OFF = Color.getHSBColor(HUE, 1.0f, 0.35f);
        INNER_COLOR2_OFF = Color.getHSBColor(HUE, 1.0f, 0.35f);
        OUTER_COLOR_OFF = Color.getHSBColor(HUE, 1.0f, 0.26f);
    }
}
 
源代码5 项目: systemsgenetics   文件: Heatmap.java
private static Color getColor(double power) {

        float h = (float) (power * 0.3); // Hue
//        float h = (float) (240d / 360d); // Blue Hue
        float s = (float) 0.9; // Saturation
        float b = (float) 0.9; // Brightness

        return Color.getHSBColor(h, s, b);
    }
 
源代码6 项目: closure-stylesheets   文件: GssFunctions.java
protected String makeMutedColor(
    String backgroundColorStr, String foregroundColorStr, String lossStr) {

  // If the background is transparent, or if the foreground is transparent,
  // there's really no way we can know how to pick a muted color. We thus
  // return the foreground color unchanged.
  if ("transparent".equalsIgnoreCase(backgroundColorStr)
      || "transparent".equalsIgnoreCase(foregroundColorStr)) {
    return foregroundColorStr;
  }
  Color backgroundColor = ColorParser.parseAny(backgroundColorStr);
  Color foregroundColor = ColorParser.parseAny(foregroundColorStr);

  float[] backgroundColorHsb = toHsb(backgroundColor);
  float[] foregroundColorHsb = toHsb(foregroundColor);
  float lossOfSaturationForMutedTone = Float.valueOf(lossStr);

  // Make sure that 0 <= lossOfSaturationForMutedTone <= 1
  if (lossOfSaturationForMutedTone < 0) {
    lossOfSaturationForMutedTone = 0;
  } else if (lossOfSaturationForMutedTone > 1) {
    lossOfSaturationForMutedTone = 1;
  }

  // We take the hue from the foreground color, we desaturate it a little
  // bit, and choose a brightness halfway between foreground and background.
  // For example, if the background has a brightness of 50, and 100 for the
  // foreground, the muted color will have 75. If we have a dark background,
  // it should be the reverse.
  float mutedHue = foregroundColorHsb[0];
  float mutedSaturation = Math.max(
      foregroundColorHsb[1] - lossOfSaturationForMutedTone, 0);
  float mutedBrightness = (foregroundColorHsb[2] + backgroundColorHsb[2]) /
      2;

  Color mutedColor
      = Color.getHSBColor(mutedHue, mutedSaturation, mutedBrightness);

  return formatColor(mutedColor);
}
 
源代码7 项目: MyBox   文件: PixelBlend.java
@Override
protected int blend(int forePixel, int backPixel) {
    if (forePixel == 0) {                       // Pass transparency
        return backPixel;
    }
    if (backPixel == 0) {                       // Pass transparency
        return forePixel;
    }
    float[] sA = ImageColor.pixel2HSB(forePixel);
    float[] sB = ImageColor.pixel2HSB(backPixel);
    Color sColor = Color.getHSBColor(sB[0], sA[1], sB[2]);
    return sColor.getRGB();
}
 
源代码8 项目: tomcatsrc   文件: SnakeWebSocketServlet.java
public static String getRandomHexColor() {
    float hue = random.nextFloat();
    // sat between 0.1 and 0.3
    float saturation = (random.nextInt(2000) + 1000) / 10000f;
    float luminance = 0.9f;
    Color color = Color.getHSBColor(hue, saturation, luminance);
    return '#' + Integer.toHexString(
            (color.getRGB() & 0xffffff) | 0x1000000).substring(1);
}
 
源代码9 项目: MeteoInfo   文件: LegendManage.java
/**
 * Get rainbow color by HSV/HSB
 *
 * @param cNum Color number
 * @return Rainbow colors
 */
public static Color[] getRainBowColors_HSV(int cNum) {
    double p = 360.0 / cNum;
    Color[] colors = new Color[cNum];
    for (int i = 0; i < cNum; i++) {
        colors[cNum - i - 1] = Color.getHSBColor((float) (i * p), 1.0f, 1.0f);
    }

    return colors;
}
 
源代码10 项目: tomcatsrc   文件: SnakeAnnotation.java
public static String getRandomHexColor() {
    float hue = random.nextFloat();
    // sat between 0.1 and 0.3
    float saturation = (random.nextInt(2000) + 1000) / 10000f;
    float luminance = 0.9f;
    Color color = Color.getHSBColor(hue, saturation, luminance);
    return '#' + Integer.toHexString(
            (color.getRGB() & 0xffffff) | 0x1000000).substring(1);
}
 
源代码11 项目: ghidra   文件: ColorUtils.java
public static Color deriveBackground(Color src, float hue, float sfact, float bfact) {
	float vals[] = new float[3];
	Color.RGBtoHSB(src.getRed(), src.getGreen(), src.getBlue(), vals);
	// Assign the requested hue without modification
	vals[0] = hue;
	// Multiply the source saturation by the desired saturation
	vals[1] *= sfact;
	// Compress the brightness toward 0.5
	vals[2] = 0.5f + (vals[2] - 0.5f) * bfact;

	// Compute the color
	return Color.getHSBColor(vals[0], vals[1], vals[2]);
}
 
源代码12 项目: tomcatsrc   文件: SnakeAnnotation.java
public static String getRandomHexColor() {
    float hue = random.nextFloat();
    // sat between 0.1 and 0.3
    float saturation = (random.nextInt(2000) + 1000) / 10000f;
    float luminance = 0.9f;
    Color color = Color.getHSBColor(hue, saturation, luminance);
    return '#' + Integer.toHexString(
            (color.getRGB() & 0xffffff) | 0x1000000).substring(1);
}
 
源代码13 项目: netbeans   文件: EdgeWidget.java
/** Derives color from specified with saturation multiplied by given ratio.
 */
static Color deriveColor (Color c, float saturationR) {
    Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), hsbVals);
    hsbVals[1] = Math.min(1.0f, hsbVals[1] * saturationR);
    return Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2]);
}
 
源代码14 项目: constellation   文件: NebulaDataObject.java
@Override
public void open() {
    final Properties props = new Properties();
    try (final FileReader reader = new FileReader(getPrimaryFile().getPath())) {
        props.load(reader);
    } catch (final IOException ex) {
        Exceptions.printStackTrace(ex);
    }

    // Generate a color for the nebula marker.
    // First, see if the user has specified a color in the nebula file.
    Color c = null;
    final String cname = props.getProperty("colour") != null ? props.getProperty("colour") : props.getProperty("color");
    if (cname != null) {
        ConstellationColor cv = ConstellationColor.fromHtmlColor(cname);
        if (cv == null) {
            cv = ConstellationColor.getColorValue(cname);
        }
        if (cv != null) {
            c = cv.getJavaColor();
        }
    }

    // At this point, we should check to see if there are already any other graphs in this nebula open,
    // so we can use the existing color. However, we're a bit low-level here.
    // Therefore, we track the random colors as we create them,
    if (c == null) {
        c = NEBULA_COLOR.get(getPrimaryFile().getPath());
    }

    // Otherwise, create a random color for this nebula.
    if (c == null) {
        final float h = new SecureRandom().nextFloat();
        c = Color.getHSBColor(h, 0.5f, 0.95f);
        NEBULA_COLOR.put(getPrimaryFile().getPath(), c);
    }

    for (final Enumeration<DataObject> i = getFolder().children(); i.hasMoreElements();) {
        final DataObject dobj = i.nextElement();
        if (dobj instanceof GraphDataObject) {
            final GraphDataObject gdo = (GraphDataObject) dobj;
            gdo.setNebulaDataObject(this);
            gdo.setNebulaColor(c);
            GraphOpener.getDefault().openGraph(gdo);
        }
    }

    // Because we haven't registered an editor, a TopComponent won't open for this file (which is good).
    // However, the recent files stuff works by watching for opening TopComponents (which is bad).
    // So, do it manually.
    // FileObject.getPath() returns a path containing "/"; we need to convert it to local separators for RecentFiles.
    String path = getPrimaryFile().getPath();
    path = new File(path).getAbsolutePath();
    RecentFiles.addFile(path);
}
 
源代码15 项目: mzmine3   文件: SimpleScatterPlot.java
public SimpleScatterPlot(double[] xValues, double[] yValues, double[] colors, String xLabel,
    String yLabel) {
  super(null);

  // setBackground(Color.white);
  setCursor(Cursor.CROSSHAIR);

  xAxis = new NumberAxis(xLabel);
  xAxis.setAutoRangeIncludesZero(false);
  xAxis.setUpperMargin(0);
  xAxis.setLowerMargin(0);

  yAxis = new NumberAxis(yLabel);
  yAxis.setAutoRangeIncludesZero(false);
  yAxis.setUpperMargin(0);
  yAxis.setLowerMargin(0);

  xyDataset = new DefaultXYZDataset();
  int length = Math.min(xValues.length, yValues.length);
  double[][] data = new double[3][length];
  System.arraycopy(xValues, 0, data[0], 0, length);
  System.arraycopy(yValues, 0, data[1], 0, length);
  System.arraycopy(colors, 0, data[2], 0, length);
  xyDataset.addSeries(SERIES_ID, data);

  XYDotRenderer renderer = new XYDotRenderer() {
    @Override
    public Paint getItemPaint(int row, int col) {
      double c = xyDataset.getZ(row, col).doubleValue();
      return Color.getHSBColor((float) c, 1.0f, 1.0f);
    }
  };

  renderer.setDotHeight(3);
  renderer.setDotWidth(3);

  plot = new XYPlot(xyDataset, xAxis, yAxis, renderer);
  plot.setBackgroundPaint(Color.white);
  plot.setDomainGridlinesVisible(true);
  plot.setRangeGridlinesVisible(true);

  chart = new JFreeChart("", new Font("SansSerif", Font.BOLD, 12), plot, false);
  chart.setBackgroundPaint(Color.white);

  super.setChart(chart);

  // reset zoom history
  ZoomHistory history = getZoomHistory();
  if (history != null)
    history.clear();
}
 
源代码16 项目: mzmine3   文件: DPPAnyElementIsotopeGrouperTask.java
public static Color getColor(double power) {
  double H = power; // Hue (note 0.4 = Green, see huge chart below)
  double S = 0.9; // Saturation
  double B = 0.9; // Brightness
  return Color.getHSBColor((float) H, (float) S, (float) B);
}
 
源代码17 项目: osp   文件: TriangularByteLattice.java
public void createDefaultColors() {
  for(int i = 0; i<256; i++) {
    Color c = Color.getHSBColor((-0.07f+0.80f*i/255f)%1, 1, 1);
    colors[i] = c;
  }
}
 
源代码18 项目: binnavi   文件: JGraphTab.java
private Color selectTabBackGroundColor(final int seed) {

    final int insertionPosition =
        Iterables.indexOf(moduleIdCount.keySet(), Predicates.equalTo(seed));

    switch (insertionPosition) {
      case 0:
        return Color.getHSBColor((float) 0.55, (float) 0.2, (float) 0.8);
      case 1:
        return Color.getHSBColor((float) 0.6, (float) 0.2, (float) 0.8);
      case 2:
        return Color.getHSBColor((float) 0.65, (float) 0.2, (float) 0.8);
      case 3:
        return Color.getHSBColor((float) 0.7, (float) 0.2, (float) 0.8);
      case 4:
        return Color.getHSBColor((float) 0.75, (float) 0.2, (float) 0.8);
      case 5:
        return Color.getHSBColor((float) 0.8, (float) 0.2, (float) 0.8);
      case 6:
        return Color.getHSBColor((float) 0.85, (float) 0.2, (float) 0.8);
      case 7:
        return Color.getHSBColor((float) 0.9, (float) 0.2, (float) 0.8);
      case 8:
        return Color.getHSBColor((float) 0.95, (float) 0.2, (float) 0.8);
      case 9:
        return Color.getHSBColor(1, (float) 0.2, (float) 0.8);
      case 10:
        return Color.getHSBColor((float) 0.05, (float) 0.2, (float) 0.8);
      case 11:
        return Color.getHSBColor((float) 0.1, (float) 0.2, (float) 0.8);
      case 12:
        return Color.getHSBColor((float) 0.15, (float) 0.2, (float) 0.8);
      case 13:
        return Color.getHSBColor((float) 0.2, (float) 0.2, (float) 0.8);
      case 14:
        return Color.getHSBColor((float) 0.25, (float) 0.2, (float) 0.8);
      case 15:
        return Color.getHSBColor((float) 0.3, (float) 0.2, (float) 0.8);
      case 16:
        return Color.getHSBColor((float) 0.35, (float) 0.2, (float) 0.8);
      case 17:
        return Color.getHSBColor((float) 0.4, (float) 0.2, (float) 0.8);
      case 18:
        return Color.getHSBColor((float) 0.45, (float) 0.2, (float) 0.8);
      case 19:
        return Color.getHSBColor((float) 0.5, (float) 0.2, (float) 0.8);
      default:
        return Color.WHITE;
    }
  }
 
源代码19 项目: seaglass   文件: AbstractRegionPainter.java
/**
 * Decodes and returns a color, which is derived from a base color in UI
 * defaults.
 *
 * @param  key     A key corresponding to the value in the UI Defaults table
 *                 of UIManager where the base color is defined
 * @param  hOffset The hue offset used for derivation.
 * @param  sOffset The saturation offset used for derivation.
 * @param  bOffset The brightness offset used for derivation.
 * @param  aOffset The alpha offset used for derivation. Between 0...255
 *
 * @return The derived color, whos color value will change if the parent
 *         uiDefault color changes.
 */
protected final Color decodeColor(String key, float hOffset, float sOffset, float bOffset, int aOffset) {
    if (UIManager.getLookAndFeel() instanceof SeaGlassLookAndFeel) {
        SeaGlassLookAndFeel laf = (SeaGlassLookAndFeel) UIManager.getLookAndFeel();

        return laf.getDerivedColor(key, hOffset, sOffset, bOffset, aOffset, true);
    } else {

        // can not give a right answer as painter should not be used outside
        // of nimbus laf but do the best we can
        return Color.getHSBColor(hOffset, sOffset, bOffset);
    }
}
 
源代码20 项目: rapidminer-studio   文件: SwingTools.java
/**
 * Changes the saturation of the given {@link Color} by multiplying the saturation with the
 * specified factor.
 *
 * @param color
 *            the color to change
 * @param factor
 *            the factor to multiply the current saturation with
 * @return color with changed saturation
 */
public static Color saturateColor(final Color color, final float factor) {
	int initialAlpha = color.getAlpha();
	// convert to H(ue) S(aturation) B(rightness), which is designed for
	// this kind of operation
	float hsb[] = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);
	// adjust saturation and return color
	Color returnColor = Color.getHSBColor(hsb[0], factor * hsb[1], hsb[2]);
	return new Color(returnColor.getRed(), returnColor.getGreen(), returnColor.getBlue(), initialAlpha);
}