You are on page 1of 2

// Selection Color Menu Tool

// This macro set adds a menu to the toolbar that allows you to
// easily change the selection color. Also adds commands to
// Plugins>Menus to restore the previous selection color and
// to get the current color.
// Author: Gilles Carpentier, Faculte des Sciences et
// Technologies, Universite Paris 12 Val de Marne, France
var xx = requires138b(); // check version at install
function requires138b() {requires("1.38b"); return 0; }
var Red="", Green="", Blue="", color ="", previousColor="";
var cCmds = newMenu("Selection Color Menu Tool",newArray("yellow","red","green",
"blue","magenta","cyan","orange","black","white"));
macro "Selection Color Menu Tool - C1b0D85D95Da5Db5Dc5Dd5De5Df5CfffD00D01D02D03D
04D06D07D08D09D0aD0bD0cD0dD0eD0fD10D11D12D13D14D16D17D18D19D1aD1bD1cD1dD1eD1fD20
D21D22D23D24D26D27D28D29D2aD2bD2cD2dD2eD2fD30D31D32D33D34D36D37D38D39D3aD3bD3cD3
dD3eD3fD40D41D42D43D44D46D47D48D49D4aD4bD4cD4dD4eD4fD50D51D52D53D54D56D57D58D59D
5aD5bD5cD5dD5eD5fD60D61D62D63D64D66D67D68D69D6aD6bD6cD6dD6eD6fD80D81D82D83D84D86
D87D88D89D8aD8bD8cD8dD8eD8fD90D91D92D93D94D96D97D98D99D9aD9bD9cD9dD9eD9fDa0Da1Da
2Da3Da4Da6Da7Da8Da9DaaDabDacDadDaeDafDb0Db1Db2Db3Db4Db6Db7Db8Db9DbaDbbDbcDbdDbeD
bfDc0Dc1Dc2Dc3Dc4Dc6Dc7Dc8Dc9DcaDcbDccDcdDceDcfDd0Dd1Dd2Dd3Dd4Dd6Dd7Dd8Dd9DdaDdb
DdcDddDdeDdfDe0De1De2De3De4De6De7De8De9DeaDebDecDedDeeDefDf0Df1Df2Df3Df4Df6Df7Df
8Df9DfaDfbDfcDfdDfeDffC03fD70D71D72D73D74D75Cf00D05D15D25D35D45D55D65Cf0eD76D77D
78D79D7aD7bD7cD7dD7eD7f" {
cmd=getArgument();
previousColor= call("ij.gui.Roi.getColor");
run("Colors...", "selection=["+cmd+"]");
getSelectionColors(call("ij.gui.Roi.getColor"));
showStatus("Selection color is now " + getColorName(Red,Green,Blue));
}
macro "Restore Previous Selection Color" {
if (previousColor !="") {
getSelectionColors (previousColor);
run("Colors...", "selection=["+getColorName(Red,Green,Blue)+"]")
;
showMessage ("Previous selection color \"" + getColorName(Red,Gr
een,Blue) + "\" has been restored");
} else {showMessage ("Selection Color has not been changed");
}
macro "Get Curent Selection Color" {
color= call("ij.gui.Roi.getColor");
getSelectionColors (color);
showMessage ("Curent selection color: "+ getColorName(Red,Green,Blue) +
" \(Red="+Red+" Green="+Green+" Blue="+Blue+"\)");
}
// decodes a color in the form "java.awt.Color[r=255,g=255,b=0]"
function getSelectionColors (color) {
Red = substring(color, (indexOf(color, "r=")+2), (indexOf(color, "g=")-1
));
Green= substring(color, (indexOf(color, "g=")+2), (indexOf(color, "b=")
-1));
Blue= substring(color, (indexOf(color, "b=")+2), indexOf(color, "]"));
}
function getColorName(r,g,b) {
if (r=="255" && g=="255" && b=="0") ColorName ="yellow";
if (r=="255" && g=="0" && b=="0") ColorName ="red";
if (r=="0" && g=="255" && b=="0") ColorName ="green";
if (r=="0" && g=="0" && b=="255") ColorName ="blue";
if (r=="255" && g=="0" && b=="255") ColorName ="magenta";
if (r=="0" && g=="255" && b=="255") ColorName ="cyan";
if (r=="255" && g=="200" && b=="0") ColorName ="orange";
if (r=="0" && g=="0" && b=="0") ColorName ="black";
if (r=="255" && g=="255" && b=="255") ColorName ="white";
return ColorName;
}

You might also like