String getPlotObjectStyle(PlotObject plotObject) { String styleString = Colors.colorToString(plotObject.color) + "," + Colors.colorToString(plotObject.color2) + "," + plotObject.lineWidth; if (plotObject.type == PlotObject.XY_DATA) styleString += ","+SHAPE_NAMES[plotObject.shape]; if (plotObject.hasFlag(PlotObject.HIDDEN)) styleString += ",hidden"; return styleString; }
String getPlotObjectStyle(PlotObject plotObject) { String styleString = Colors.colorToString(plotObject.color) + "," + Colors.colorToString(plotObject.color2) + "," + plotObject.lineWidth; if (plotObject.type == PlotObject.XY_DATA) styleString += ","+SHAPE_NAMES[plotObject.shape]; if (plotObject.hasFlag(PlotObject.HIDDEN)) styleString += ",hidden"; return styleString; }
public void paint(Graphics g) { g.setColor(c); g.fillRect(0, 0, WIDTH, HEIGHT); int intensity = (c.getRed()+c.getGreen()+c.getBlue())/3; Color c2 = intensity<128?Color.white:Color.black; g.setColor(c2); g.setFont(font); Java2.setAntialiasedText(g, true); String s = Colors.colorToString(c); g.drawString(s, 5, HEIGHT-5); g.setColor(Color.black); g.drawRect(0, 0, WIDTH-1, HEIGHT-1); }
protected static String getColorString(final Color color) { String name = "none"; name = Colors.getColorName(color, name); if (!"none".equals(name)) name = Colors.colorToString(color); return name; }
public void paint(Graphics g) { g.setColor(c); g.fillRect(0, 0, WIDTH, HEIGHT); int intensity = (c.getRed()+c.getGreen()+c.getBlue())/3; Color c2 = intensity<128?Color.white:Color.black; g.setColor(c2); g.setFont(font); Java2.setAntialiasedText(g, true); String s = Colors.colorToString(c); g.drawString(s, 5, HEIGHT-5); g.setColor(Color.black); g.drawRect(0, 0, WIDTH-1, HEIGHT-1); }
public String toString() { return "rgb[0]="+Colors.colorToString(new Color(getRGB(0)))+", rgb[255]=" +Colors.colorToString(new Color(getRGB(255)))+", min="+IJ.d2s(min,4)+", max="+IJ.d2s(max,4); }
public String toString() { return "rgb[0]="+Colors.colorToString(new Color(getRGB(0)))+", rgb[255]=" +Colors.colorToString(new Color(getRGB(255)))+", min="+IJ.d2s(min,4)+", max="+IJ.d2s(max,4); }
public String toString() { return "Overlay[size="+size()+" "+(scalableLabels?"scale":"")+" "+Colors.colorToString(getLabelColor())+"]"; }
public String toString() { return "Overlay[size="+size()+" "+(scalableLabels?"scale":"")+" "+Colors.colorToString(getLabelColor())+"]"; }
public void mouseMoved(MouseEvent e) { int x = e.getX(); int y = e.getY(); int p = ip.getPixel(x, y); int r = (p&0xff0000)>>16; int g = (p&0xff00)>>8; int b = p&0xff; String hex = Colors.colorToString(new Color(r,g,b)); IJ.showStatus("red="+pad(r)+", green="+pad(g)+", blue="+pad(b)+" ("+hex+")"); }
public void mouseMoved(MouseEvent e) { int x = e.getX(); int y = e.getY(); int p = ip.getPixel(x, y); int r = (p&0xff0000)>>16; int g = (p&0xff00)>>8; int b = p&0xff; String hex = Colors.colorToString(new Color(r,g,b)); IJ.showStatus("red="+pad(r)+", green="+pad(g)+", blue="+pad(b)+" ("+hex+")"); }
/** Sets the 'previousColor', 'previousColor2' with a suggestion for new colors */ private void suggestColor() { boolean[] colorUsed = new boolean[PLOT_COLORS.length]; String[] designations = plot.getPlotObjectDesignations(); for (int i=0; i<designations.length; i++) { if (!(designations[i].toLowerCase().startsWith("data"))) continue; String styleString = plot.getPlotObjectStyle(i); for (int j=0; j<PLOT_COLORS.length; j++) if (styleString.startsWith(PLOT_COLORS[j])) colorUsed[j] = true; } String newColor = previousColor; for (int j=0; j<PLOT_COLORS.length; j++) if (!colorUsed[j]) { newColor = PLOT_COLORS[j]; break; } if (previousColor2 != null && previousColor2.equals(previousColor)) //if fill color was main color, keep it such previousColor2 = newColor; else if (Colors.decode(previousColor2, null) != null) { //if we had a separate fill color, make main color brighter Color newC = Colors.decode(newColor,Color.BLACK); Color newC2 = new Color(makeBrighter(newC.getRed()), makeBrighter(newC.getGreen()), makeBrighter(newC.getBlue())); previousColor2 = Colors.colorToString(newC2); } previousColor = newColor; }
/** Sets the 'previousColor', 'previousColor2' with a suggestion for new colors */ private void suggestColor() { boolean[] colorUsed = new boolean[PLOT_COLORS.length]; String[] designations = plot.getPlotObjectDesignations(); for (int i=0; i<designations.length; i++) { if (!(designations[i].toLowerCase().startsWith("data"))) continue; String styleString = plot.getPlotObjectStyle(i); for (int j=0; j<PLOT_COLORS.length; j++) if (styleString.startsWith(PLOT_COLORS[j])) colorUsed[j] = true; } String newColor = previousColor; for (int j=0; j<PLOT_COLORS.length; j++) if (!colorUsed[j]) { newColor = PLOT_COLORS[j]; break; } if (previousColor2 != null && previousColor2.equals(previousColor)) //if fill color was main color, keep it such previousColor2 = newColor; else if (Colors.decode(previousColor2, null) != null) { //if we had a separate fill color, make main color brighter Color newC = Colors.decode(newColor,Color.BLACK); Color newC2 = new Color(makeBrighter(newC.getRed()), makeBrighter(newC.getGreen()), makeBrighter(newC.getBlue())); previousColor2 = Colors.colorToString(newC2); } previousColor = newColor; }
private String getValueAsString(int x, int y) { if (win!=null && win instanceof PlotWindow) return ""; Calibration cal = getCalibration(); int[] v = getPixel(x, y); int type = getType(); switch (type) { case GRAY8: case GRAY16: case COLOR_256: if (type==COLOR_256) { if (cal.getCValue(v[3])==v[3]) // not calibrated return(", index=" + v[3] + ", value=" + v[0] + "," + v[1] + "," + v[2]); else v[0] = v[3]; } double cValue = cal.getCValue(v[0]); if (cValue==v[0]) return(", value=" + v[0]); else return(", value=" + IJ.d2s(cValue) + " ("+v[0]+")"); case GRAY32: double value = Float.intBitsToFloat(v[0]); String s = (int)value==value?IJ.d2s(value,0)+".0":IJ.d2s(value,4,7); return(", value=" + s); case COLOR_RGB: String hex = Colors.colorToString(new Color(v[0],v[1],v[2])); return(", value=" + IJ.pad(v[0],3) + "," + IJ.pad(v[1],3) + "," + IJ.pad(v[2],3) + " ("+hex + ")"); default: return(""); } }
private String getValueAsString(int x, int y) { if (win!=null && win instanceof PlotWindow) return ""; Calibration cal = getCalibration(); int[] v = getPixel(x, y); int type = getType(); switch (type) { case GRAY8: case GRAY16: case COLOR_256: if (type==COLOR_256) { if (cal.getCValue(v[3])==v[3]) // not calibrated return(", index=" + v[3] + ", value=" + v[0] + "," + v[1] + "," + v[2]); else v[0] = v[3]; } double cValue = cal.getCValue(v[0]); if (cValue==v[0]) return(", value=" + v[0]); else return(", value=" + IJ.d2s(cValue) + " ("+v[0]+")"); case GRAY32: double value = Float.intBitsToFloat(v[0]); String s = (int)value==value?IJ.d2s(value,0)+".0":IJ.d2s(value,4,7); return(", value=" + s); case COLOR_RGB: String hex = Colors.colorToString(new Color(v[0],v[1],v[2])); return(", value=" + IJ.pad(v[0],3) + "," + IJ.pad(v[1],3) + "," + IJ.pad(v[2],3) + " ("+hex + ")"); default: return(""); } }
void rectToolOptions() { if (defaultStrokeColor==null) defaultStrokeColor = Roi.getColor(); Color strokeColor = defaultStrokeColor; Color fillColor = null; if (defaultStrokeWidth==0.0) defaultStrokeWidth = 1.0; double strokeWidth = defaultStrokeWidth; int cornerDiameter = (int)Prefs.get(Toolbar.CORNER_DIAMETER, 20); ImagePlus imp = WindowManager.getCurrentImage(); Roi roi = imp!=null?imp.getRoi():null; if (roi!=null && (roi.getType()==Roi.RECTANGLE)) { strokeColor = roi.getStrokeColor(); if (strokeColor==null) strokeColor = Roi.getColor(); fillColor = roi.getFillColor(); strokeWidth = roi.getStrokeWidth(); cornerDiameter = roi.getCornerDiameter(); } String strokec = Colors.colorToString(strokeColor); String fillc = Colors.colorToString(fillColor); gd = new NonBlockingGenericDialog("Rounded Rectangle Tool"); gd.addSlider("Stroke width:", 1, 25, (int)strokeWidth); gd.addSlider("Corner diameter:", 0, 200, cornerDiameter); gd.addStringField("Color: ", strokec); gd.addStringField("Fill color: ", fillc); gd.addDialogListener(this); gd.showDialog(); }
void rectToolOptions() { if (defaultStrokeColor==null) defaultStrokeColor = Roi.getColor(); Color strokeColor = defaultStrokeColor; Color fillColor = null; if (defaultStrokeWidth==0.0) defaultStrokeWidth = 1.0; double strokeWidth = defaultStrokeWidth; int cornerDiameter = (int)Prefs.get(Toolbar.CORNER_DIAMETER, 20); ImagePlus imp = WindowManager.getCurrentImage(); Roi roi = imp!=null?imp.getRoi():null; if (roi!=null && (roi.getType()==Roi.RECTANGLE)) { strokeColor = roi.getStrokeColor(); if (strokeColor==null) strokeColor = Roi.getColor(); fillColor = roi.getFillColor(); strokeWidth = roi.getStrokeWidth(); cornerDiameter = roi.getCornerDiameter(); } String strokec = Colors.colorToString(strokeColor); String fillc = Colors.colorToString(fillColor); gd = new NonBlockingGenericDialog("Rounded Rectangle Tool"); gd.addSlider("Stroke width:", 1, 25, (int)strokeWidth); gd.addSlider("Corner diameter:", 0, 200, cornerDiameter); gd.addStringField("Color: ", strokec); gd.addStringField("Fill color: ", fillc); gd.addDialogListener(this); gd.showDialog(); }
/** Creates a new PointRoi using the specified screen coordinates. */ public PointRoi(int sx, int sy, ImagePlus imp) { super(makeXArray(sx, imp), makeYArray(sy, imp), 1, POINT); defaultCounter = 0; setImage(imp); width=1; height=1; type = defaultType; size = defaultSize; showLabels = !Prefs.noPointLabels; if (imp!=null) { int r = 10; double mag = ic!=null?ic.getMagnification():1; if (mag<1) r = (int)(r/mag); imp.draw(x-r, y-r, 2*r, 2*r); } setCounter(Toolbar.getMultiPointMode()?defaultCounter:0); incrementCounter(imp); enlargeArrays(50); if (Recorder.record) { String add = Prefs.pointAddToOverlay?" add":""; String options = sizes[convertSizeToIndex(size)]+" "+Colors.colorToString(getColor())+" "+types[type]+add; options = options.toLowerCase(); if (Recorder.scriptMode()) Recorder.recordCall("imp.setRoi(new PointRoi("+x+","+y+",\""+options+"\"));"); else Recorder.record("makePoint", x, y, options); } }
/** Creates a new PointRoi using the specified screen coordinates. */ public PointRoi(int sx, int sy, ImagePlus imp) { super(makeXArray(sx, imp), makeYArray(sy, imp), 1, POINT); defaultCounter = 0; setImage(imp); width=1; height=1; type = defaultType; size = defaultSize; showLabels = !Prefs.noPointLabels; if (imp!=null) { int r = 10; double mag = ic!=null?ic.getMagnification():1; if (mag<1) r = (int)(r/mag); imp.draw(x-r, y-r, 2*r, 2*r); } setCounter(Toolbar.getMultiPointMode()?defaultCounter:0); incrementCounter(imp); enlargeArrays(50); if (Recorder.record) { String add = Prefs.pointAddToOverlay?" add":""; String options = sizes[convertSizeToIndex(size)]+" "+Colors.colorToString(getColor())+" "+types[type]+add; options = options.toLowerCase(); if (Recorder.scriptMode()) Recorder.recordCall("imp.setRoi(new PointRoi("+x+","+y+",\""+options+"\"));"); else Recorder.record("makePoint", x, y, options); } }
continue; Rectangle r = rois[i].getBounds(); String color = Colors.colorToString(rois[i].getStrokeColor()); String fill = Colors.colorToString(rois[i].getFillColor()); double strokeWidth = rois[i].getStrokeWidth(); int digits = strokeWidth==(int)strokeWidth?0:1;