The place cursor's grid preview fell back to the raw drag rectangle when the cells had no positive size, while the release still sent `place.grid`, which rejected the area. Both now use the same cell calculation (`grid_cells`), and a grid with no room for its cells shows and places the single proportional frame of an ordinary drag.
2.1 KiB
Multiple images
Choose File > Place (Cmd+D on macOS) and select several images. They load into a placement cursor in the order supplied by the file picker. The cursor shows the next image's thumbnail and, beside it, how many are loaded ("(6)").
- Click to place the next image at its natural size.
- Drag to draw its frame: it keeps the image's proportions, and shows the scale beside the pointer.
- Click an existing graphic frame to replace its contents.
- While drawing, Right/Left add/remove columns and Up/Down add/remove rows. Release to place a grid in row order with 6-point gutters. Extra images remain in the cursor; unused grid cells create no empty frames. A drag too small for the grid's cells shows and places one frame instead, as an ordinary drag does.
- Press Escape or select another tool to cancel the remaining placement.
A single selected file retains the normal Place behavior, including filling a selected frame and PDF import options. Image batches support up to 1000 images. Rows and columns each range from 1 to 100. A batch containing an unreadable image fails without replacing the existing queue or changing the document. An invalid grid area also leaves the document and queue unchanged.
Images here are PNG, JPEG, GIF, WebP, BMP, TIFF, SVG, PSD and EPS files.
Automation
All placement behavior is available through the engine, CLI, control channel and MCP:
{"command":"place.load","params":{"files":[{"path":"/images/one.png"},{"path":"/images/two.jpg"}]}}
{"command":"place.load","params":{"files":[{"path":"/images/three.png"}],"append":true}}
{"command":"place.grid","params":{"rect":[36,36,576,756],"columns":3,"rows":4,"gutter":6}}
{"command":"place.cancel","params":{}}
Each source can instead supply base64 and name, including on the web. append queues the images after those already loaded instead of replacing them. place.grid consumes only the images that fit. Undo removes placed frames together, while the cursor remains at its current position in the queue. The UI command app.placeDialog takes paths for a File > Place of several files without the dialog.