ImageJ base code to get access to all the classes and their methods to test new Plugins. https://imagejdocu.tudor.lu/howto/plugins/the_imagej_eclipse_howto
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

41 lines
1.2 KiB

// Spray Can Tool
var width=100, dotSize=1, rate=6;
macro 'Spray Can Tool - C123D20D22D24D41D43D62D82Da2C037L93b3D84Dc4L75d5L757f Ld5dfLa7d7LabdbLa9d9LacdcLa7ac' {
setLineWidth(dotSize);
radius=width/2; radius2=radius*radius;
start = getTime();
autoUpdate(false);
n = 25*exp(0.9*(10-rate));
if (n<=5) n = 0;
while (true) {
getCursorLoc(x, y, z, flags);
if (flags&16==0) exit();
x2 = (random()-0.5)*width;
y2 = (random()-0.5)*width;
if (x2*x2+y2*y2<radius2) {
x += x2;
y += y2;
drawLine(x, y, x, y);
if (getTime()>start+50) {
updateDisplay();
start = getTime();
}
}
for (i=0; i<n; i++);
}
}
macro 'Spray Can Tool Options' {
Dialog.create("Spray Can Options");
Dialog.addNumber("Spray Width (pixels):", width);
Dialog.addNumber("Dot Size (pixels):", dotSize);
Dialog.addNumber("Flow Rate (1-10):", rate);
Dialog.show();
width = Dialog.getNumber();
dotSize = Dialog.getNumber();
rate = Dialog.getNumber();
if (rate<1) rate = 1;
if (rate>10) rate = 10;
}