private void initGraphics(Overlay overlay, Graphics g, Color textColor, Color defaultColor) { if (smallFont==null) { smallFont = new Font("SansSerif", Font.PLAIN, 9); largeFont = ImageJ.SansSerif12; } if (textColor!=null) { labelColor = textColor; if (overlay!=null && overlay.getDrawBackgrounds()) { double brightness = (labelColor.getRed()+labelColor.getGreen()+labelColor.getBlue())/3.0; if (labelColor==Color.green) brightness = 255; bgColor = brightness<=85?Color.white:Color.black; } else bgColor = null; } else { int red = defaultColor.getRed(); int green = defaultColor.getGreen(); int blue = defaultColor.getBlue(); if ((red+green+blue)/3<128) labelColor = Color.white; else labelColor = Color.black; bgColor = defaultColor; } this.defaultColor = defaultColor; Font font = overlay!=null?overlay.getLabelFont():null; if (font!=null && font.getSize()>12) ((Graphics2D)g).setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g.setColor(defaultColor); }
private void initGraphics(Overlay overlay, Graphics g, Color textColor, Color defaultColor) { if (smallFont==null) { smallFont = new Font("SansSerif", Font.PLAIN, 9); largeFont = ImageJ.SansSerif12; } if (textColor!=null) { labelColor = textColor; if (overlay!=null && overlay.getDrawBackgrounds()) { double brightness = (labelColor.getRed()+labelColor.getGreen()+labelColor.getBlue())/3.0; if (labelColor==Color.green) brightness = 255; bgColor = brightness<=85?Color.white:Color.black; } else bgColor = null; } else { int red = defaultColor.getRed(); int green = defaultColor.getGreen(); int blue = defaultColor.getBlue(); if ((red+green+blue)/3<128) labelColor = Color.white; else labelColor = Color.black; bgColor = defaultColor; } this.defaultColor = defaultColor; Font font = overlay!=null?overlay.getLabelFont():null; if (font!=null && font.getSize()>12) ((Graphics2D)g).setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g.setColor(defaultColor); }
void saveOverlayOptions(Roi roi, int options) { Overlay proto = roi.getPrototypeOverlay(); if (proto.getDrawLabels()) options |= RoiDecoder.OVERLAY_LABELS; if (proto.getDrawNames()) options |= RoiDecoder.OVERLAY_NAMES; if (proto.getDrawBackgrounds()) options |= RoiDecoder.OVERLAY_BACKGROUNDS; Font font = proto.getLabelFont(); if (font!=null && font.getStyle()==Font.BOLD) options |= RoiDecoder.OVERLAY_BOLD; if (proto.scalableLabels()) options |= RoiDecoder.SCALE_LABELS; putShort(RoiDecoder.OPTIONS, options); }
void saveOverlayOptions(Roi roi, int options) { Overlay proto = roi.getPrototypeOverlay(); if (proto.getDrawLabels()) options |= RoiDecoder.OVERLAY_LABELS; if (proto.getDrawNames()) options |= RoiDecoder.OVERLAY_NAMES; if (proto.getDrawBackgrounds()) options |= RoiDecoder.OVERLAY_BACKGROUNDS; Font font = proto.getLabelFont(); if (font!=null && font.getStyle()==Font.BOLD) options |= RoiDecoder.OVERLAY_BOLD; if (proto.scalableLabels()) options |= RoiDecoder.SCALE_LABELS; putShort(RoiDecoder.OPTIONS, options); }
public void showDialog() { showLabels = overlay.getDrawLabels(); showNames = overlay.getDrawNames(); drawBackgrounds = overlay.getDrawBackgrounds(); colorName = Colors.getColorName(overlay.getLabelColor(), "white"); fontSize = 12; Font font = overlay.getLabelFont(); if (font!=null) { fontSize = font.getSize(); bold = font.getStyle()==Font.BOLD; } gd = new GenericDialog("Labels"); gd.addChoice("Color:", Colors.colors, colorName); gd.addChoice("Font size:", fontSizes, ""+fontSize); gd.addCheckbox("Show labels", showLabels); gd.addCheckbox("Use names as labels", showNames); gd.addCheckbox("Draw backgrounds", drawBackgrounds); gd.addCheckbox("Bold", bold); gd.addDialogListener(this); gd.showDialog(); }
public void showDialog() { showLabels = overlay.getDrawLabels(); showNames = overlay.getDrawNames(); drawBackgrounds = overlay.getDrawBackgrounds(); colorName = Colors.getColorName(overlay.getLabelColor(), "white"); fontSize = 12; Font font = overlay.getLabelFont(); if (font!=null) { fontSize = font.getSize(); bold = font.getStyle()==Font.BOLD; } gd = new GenericDialog("Labels"); gd.addChoice("Color:", Colors.colors, colorName); gd.addChoice("Font size:", fontSizes, ""+fontSize); gd.addCheckbox("Show labels", showLabels); gd.addCheckbox("Use names as labels", showNames); gd.addCheckbox("Draw backgrounds", drawBackgrounds); gd.addCheckbox("Bold", bold); gd.addDialogListener(this); gd.showDialog(); }
public void setPrototypeOverlay(Overlay overlay) { prototypeOverlay = new Overlay(); prototypeOverlay.drawLabels(overlay.getDrawLabels()); prototypeOverlay.drawNames(overlay.getDrawNames()); prototypeOverlay.drawBackgrounds(overlay.getDrawBackgrounds()); prototypeOverlay.setLabelColor(overlay.getLabelColor()); prototypeOverlay.setLabelFont(overlay.getLabelFont(), overlay.scalableLabels()); }
public void setPrototypeOverlay(Overlay overlay) { prototypeOverlay = new Overlay(); prototypeOverlay.drawLabels(overlay.getDrawLabels()); prototypeOverlay.drawNames(overlay.getDrawNames()); prototypeOverlay.drawBackgrounds(overlay.getDrawBackgrounds()); prototypeOverlay.setLabelColor(overlay.getLabelColor()); prototypeOverlay.setLabelFont(overlay.getLabelFont(), overlay.scalableLabels()); }
private Overlay newOverlay() { Overlay overlay = OverlayLabels.createOverlay(); overlay.drawLabels(labelsCheckbox.getState()); if (overlay.getLabelFont()==null && overlay.getLabelColor()==null) { overlay.setLabelColor(Color.white); overlay.drawBackgrounds(true); } overlay.drawNames(Prefs.useNamesAsLabels); if (overlayTemplate!=null) { overlay.drawNames(overlayTemplate.getDrawNames()); overlay.drawBackgrounds(overlayTemplate.getDrawBackgrounds()); overlay.setLabelColor(overlayTemplate.getLabelColor()); overlay.setLabelFont(overlayTemplate.getLabelFont(), overlayTemplate.scalableLabels()); } return overlay; }
void setOverlay(ImagePlus imp, byte[][] rois) { Overlay overlay = new Overlay(); Overlay proto = null; for (int i=0; i<rois.length; i++) { Roi roi = RoiDecoder.openFromByteArray(rois[i]); if (roi==null) continue; if (proto==null) { proto = roi.getPrototypeOverlay(); overlay.drawLabels(proto.getDrawLabels()); overlay.drawNames(proto.getDrawNames()); overlay.drawBackgrounds(proto.getDrawBackgrounds()); overlay.setLabelColor(proto.getLabelColor()); overlay.setLabelFont(proto.getLabelFont(), proto.scalableLabels()); } overlay.add(roi); } imp.setOverlay(overlay); }
private Overlay newOverlay() { Overlay overlay = OverlayLabels.createOverlay(); overlay.drawLabels(labelsCheckbox.getState()); if (overlay.getLabelFont()==null && overlay.getLabelColor()==null) { overlay.setLabelColor(Color.white); overlay.drawBackgrounds(true); } overlay.drawNames(Prefs.useNamesAsLabels); if (overlayTemplate!=null) { overlay.drawNames(overlayTemplate.getDrawNames()); overlay.drawBackgrounds(overlayTemplate.getDrawBackgrounds()); overlay.setLabelColor(overlayTemplate.getLabelColor()); overlay.setLabelFont(overlayTemplate.getLabelFont(), overlayTemplate.scalableLabels()); } return overlay; }
public void run(String arg) { imp = WindowManager.getCurrentImage(); overlay = null; if (imp!=null) { ImageCanvas ic = imp.getCanvas(); if (ic!=null) overlay = ic.getShowAllList(); if (overlay==null) overlay = imp.getOverlay(); } if (overlay==null) overlay = defaultOverlay; showDialog(); if (!gd.wasCanceled()) { defaultOverlay.drawLabels(overlay.getDrawLabels()); defaultOverlay.drawNames(overlay.getDrawNames()); defaultOverlay.drawBackgrounds(overlay.getDrawBackgrounds()); defaultOverlay.setLabelColor(overlay.getLabelColor()); defaultOverlay.setLabelFont(overlay.getLabelFont()); } }
void setOverlay(ImagePlus imp, byte[][] rois) { Overlay overlay = new Overlay(); Overlay proto = null; for (int i=0; i<rois.length; i++) { Roi roi = RoiDecoder.openFromByteArray(rois[i]); if (roi==null) continue; if (proto==null) { proto = roi.getPrototypeOverlay(); overlay.drawLabels(proto.getDrawLabels()); overlay.drawNames(proto.getDrawNames()); overlay.drawBackgrounds(proto.getDrawBackgrounds()); overlay.setLabelColor(proto.getLabelColor()); overlay.setLabelFont(proto.getLabelFont(), proto.scalableLabels()); } overlay.add(roi); } imp.setOverlay(overlay); }
public void run(String arg) { imp = WindowManager.getCurrentImage(); overlay = null; if (imp!=null) { ImageCanvas ic = imp.getCanvas(); if (ic!=null) overlay = ic.getShowAllList(); if (overlay==null) overlay = imp.getOverlay(); } if (overlay==null) overlay = defaultOverlay; showDialog(); if (!gd.wasCanceled()) { defaultOverlay.drawLabels(overlay.getDrawLabels()); defaultOverlay.drawNames(overlay.getDrawNames()); defaultOverlay.drawBackgrounds(overlay.getDrawBackgrounds()); defaultOverlay.setLabelColor(overlay.getLabelColor()); defaultOverlay.setLabelFont(overlay.getLabelFont()); } }