Template:Layered image

Stacks an arbitrary number of full-canvas image layers



Renders one to 32 same-canvas local images in back-to-front order as one extension-generated composite. Set preview=1 to expose that same signed, content-addressed URL to the fast Popups integration. The composite is generated into the server cache, not uploaded into the File namespace.

Use this for a single composed image or a small number of cards. A gallery of many deep stacks multiplies image requests and DOM nodes; generate one optimized composite file instead when the same ten-layer composition is repeated or when many deep compositions appear in one viewport.

Quick start

{{Layered image
| Remilio_Background_Honda_NSX_1993.png
| White.png
| College Sweater.png
| BABY-G Watch.png
| China and America.png
| Notched.png
| Remilio_Mouth_Lollipop.png
| Versace.png
| Charlie Grey.png
| Monster University.png
| size = 320px
| alt = A composed Remilio
| link = Redacted Remilio Babies
| preview = 1
}}

The numbered images are positional and contiguous. All layers must use the same canvas dimensions and aspect ratio. Layer 1 is the back; the highest-numbered layer is the front.

Parameters

Parameter Description
132 Required local image filenames, back to front, with or without the File: prefix. Gaps are rejected.
size Rendered width from 1px through 4096px. Bare pixel counts are accepted. Defaults to 200px.
alt Alternative text carried by the selected link layer, or by the top layer when the image is not linked.
link Optional local page title. When present, only link_layer is clickable.
link_mode none (default), file for the selected layer's native file/MediaViewer link, or page when link is supplied.
link_layer One-based source used as the native file link when link_mode=file. Defaults to the top layer.
preview Optional boolean. Exposes the displayed composite URL to the LayeredImages Popups integration; no derivative upload is created.
class Optional space-separated CSS classes for the outer wrapper.

The finite 32-layer ceiling is intentional: it covers the 15-layer Remilio schema with headroom while making accidental parser and compositor blowups fail visibly. It is not a fixed two-layer implementation.