第一张版面#
用途与概念#
从一个页面、两个卡片和标题开始,观察绝对偏移与相对定位的差异。页面大小采用物理长度,坐标原点在左上,x 向右、y 向下。
最小完整示例#
此文件包含画布及必要定义,可直接运行 laymesh validate 或 laymesh render,不依赖前文未声明的变量。
# Minimal complete example: addpage=canvas(size=(100mm,75mm),background="#ffffff")material=rect(size=(25mm,18mm),fill="#087f8c")a=page.add(material,offset=(10mm,10mm))page.add(material,anchor=top_left,target=a.bottom_right,offset=(3mm,3mm))# Minimal complete example: addpage=canvas(size=(100mm,75mm),background="#ffffff")material=rect(size=(25mm,18mm),fill="#087f8c")a=page.add(material,offset=(10mm,10mm))page.add(material,anchor=top_left,target=a.bottom_right,offset=(3mm,3mm))预览
背景
依赖文件
examples/manual/add.lay
参数与默认行为#
裸几何长度使用画布单位,裸字号和描边宽度使用 pt。显式调用参数优先于继承和主题默认值;下面的接口参考逐项列出允许类型、可选值与默认来源。
组合用法#
使用 target=first.bottom_right 和 offset=(3mm,3mm) 放置第二个实例。标题用 anchor=center 与卡片 center 对齐,因此字体变化时仍保持中心关系。
page = canvas(size=(160 mm, 100 mm), background="#ffffff") card = rect(size=(60 mm, 30 mm), fill="#e7f4fa", border_color="#28618a", border_width=0.4 mm)left = page.add(card, target=page.top_left, offset=(12 mm, 15 mm))page.add(card, target=left.top_right, offset=(8 mm, 0 mm)) title = text(content="Hello LayMesh", font_size=14 pt, color="#203864")page.add(title, anchor=center, target=left.center)page = canvas(size=(160 mm, 100 mm), background="#ffffff") card = rect(size=(60 mm, 30 mm), fill="#e7f4fa", border_color="#28618a", border_width=0.4 mm)left = page.add(card, target=page.top_left, offset=(12 mm, 15 mm))page.add(card, target=left.top_right, offset=(8 mm, 0 mm)) title = text(content="Hello LayMesh", font_size=14 pt, color="#203864")page.add(title, anchor=center, target=left.center)预览
背景
依赖文件
examples/hello.lay
常见错误与限制#
add 的默认 anchor 是 top_left,offset 沿容器方向。页面不会自动增大,超出页面的对象可能在导出时被裁切。
逐项功能说明#
详细行为与补充示例#
参数#
| 参数 | 用途 | 默认或要求 |
|---|---|---|
size |
画布物理尺寸 | 示例:160 × 100 mm |
anchor |
实例定位点 | top_left |
素材与实例#
card 定义可复用的图形,两个 page.add(card, ...) 创建两个实例。left.center 用于把标题放在第一个实例中心。完整源码可直接在源码标签中查看和复制。
导出与检查#
laymesh validate examples/hello.laylaymesh render examples/hello.lay -o hello.svglaymesh render examples/hello.lay -o hello.pdflaymesh render examples/hello.lay -o hello.png --dpi 300
