I've released a new version, with these features:
- Added parameters in IMAGE directive for image position and stretching
Usually an image is drawn enlarged to the whole rectangle specified by an IMAGE directive. Now you can add four parameters (14th to 17th) to set a size (width and height) and a position (% from top, % from left) within that rectangle. For example, this draws an image with a size of 3x3 cm, 25% from the top and 25% from the left of the card:
IMAGE=1,"disk.png",0,0,100%,100%,0,PN,100,0,0,0,0,3,3,25,25
If 16th and 17th parameters are negative values, instead of positions are read as points where to "cut" the image in halves (or quarters), with the 18th and 19th parameters that specify how much of the image is copied and pasted to fill the inner space. For example:
IMAGE=1,"disk.png",0,0,100%,100%,0,PN,100,0,0,0,0,3,3,-50,-50,1,1
- New BASERANGE directive
For each card in a range an element is extracted from a sequence, and as a default the first element from the sequence is paired from the first card in the range. The only exception is when you have a LABELRANGE function: in this case the nth element from the sequence is paired with the nth card from the deck. With this directive you can change this behavior.
Syntax:
BASERANGE = "range", flag
Values accepted for flag are:
ON: the Nth element from the sequence is paired with the Nth card from the deck
OFF: the Nth element from the sequence is paired with the Nth card from the range
- New MOSAIC directive
This directive reads all the images in a folder, and arrange them in a rectangle. If the images fill more than one instance of that rectangle, you can use a page parameter to specify which rectangle is drawn from all the possible choices.
Syntax:
MOSAIC = "range", "folder", position x, position y, width, height, page, flags, zoom
- New LINKENCODE directive
This directive is used to specify which characters are replaced with \n\ encoding (where n is the ASCII code) when read from a spreadsheet file with the LINK directive. As default, characters encoded are [ ] { }.
Syntax:
LINKENCODE = characters
- New FRAMEBEZIER function
This function creates a list of frames arranged in a Bezier curve. The syntax for this function is:
[name] = FRAMEBEZIER(x1, y1, hx1, hy1, hx2, hy2, x2, y2, frame width, frame height, number, zoom)
The frames are created with a name composed from the [name] and a number, the number goes from “1” to the 11th parameter.
Example:
[bezier] = FRAMEBEZIER(0, 0, 3, 0, 3, 6, 6, 6, 1, 1, 10)
- New FRAMEMOSAIC function
This function creates frames with the same logic from the MOSAIC directive.
Syntax:
[newframe] = FRAMEMOSAIC("folder", position x, position y, width, height, page, flags, zoom
This function creates also a label named namePAGES (where [i]name[/b] is the frames’ prefix) with a value equal to the number of pages resulting.
- Added noise pattern for backgrounds
In every color/gradient parameter you can specify an & followed by the number of iterations to obtain a perlin noise effect. For example:
FONT = Arial, 128, B, #FF0000#00FF00&8, #00FF00#0000FF&8
TEXT = 1, "A", 0, 0, 100%, 100%
- Runtime loading of new fonts (from the program's folder)
You can use font files not installed, you have only to put them in the same folder with nanDECK. You can disable it in Config (checkbox "Load font files in program's folder at start").
- Cycle build (in Sections' window)
Previously the SECTION...ENDSECTION structure was be used to enable/disable separate blocks of code. Now I've added a button "Cycle build" to programmatically enable the first section, build the deck, enable the next section, build the deck, and so on.
- Cache for image files
All the image files loaded with an IMAGE directive are stored in RAM for faster reuse. You can disable it (to have more RAM) with an option in Config (checkbox "Cache images").
Website:
Download (Windows):
http://www.nand.it/nandeck/nandeck.zip
Download (Wine):
http://www.nand.it/nandeck/nandeck_wine.zip
Reeference: