2- Algorithm
As shown in Fig.1, a chessboard is a square containing 8x8 = 64 cells colored in white or black.In our algorithm, the different cells are numbered by their X-Y coordinates from 0 to 7 (Fig. 1). Thus, the upper left corner is (0,0) and the lower right is (7,7).
Fig.1: Chessboard with the XY coordinates of the cells |
What about the cell color? If you sum the x- and y-coordinates of a cell and if this sum is even then the color is white ... otherwise it is black. Ex: The cell (3,4) is black because 3+4 = 7 which is odd, similarly, cell (7,5) is white (7+5=12, an even number).
3- Script: version 1.0
First, don't type all the code, open the Recorder and create a 512x512 8-bit image with a black background, then click on 'Create' ... and let's go.Second, we need two loops: a loop to scan the X-coordinate and another one for the Y-coordinates. They are nested (the X-loop is inside the Y-loop).
Third, to draw the cells:
- The drawing function is fillRect(x,y,w,h)
- The width and height are equal to 512/8 = 64 pixels
- The tricky part is the assignment of the X-Y coordinates of each cell, because they depend of the cell size.
+++ IJ snippet: chessboard_v1_imagej.ijm +++
+++ End of IJ snippet +++
4- Conclusion
Of course, there are many different ways to write a script even for a simple task like drawing a chessboard (see Parts 2 and 3).If you find a shorter, smarter way to draw a chessboard in ImageJ, you are welcome to share your code.
No comments:
Post a Comment