LNNBot/WhatCommands指令/wthsvg:修订间差异
外观
< LNNBot | WhatCommands指令
创建页面,内容为“WhatCommands 指令 '''<code>wthsvg</code>''' 可根据输入的一系列中文指令绘制图像。主要作者为 cycwin,{{LNN}} 补充完善部分功能。 == 用法 == ¿¿wthsvg 指令... wthsvg 的参数中每行为一条指令,指令分为操作和属性,操作以横杠(<code>-</code>)开头,属性跟在其所属的操作之后。 === 操作 === ;<code>-画布 ''w'' ''h''</code> :指定画布宽为''w'',高为''h'',一般写在最…” |
小无编辑摘要 |
||
| 第31行: | 第31行: | ||
;<code>背景 ''c''</code> | ;<code>背景 ''c''</code> | ||
:只对 <code>-画布</code> 指令有效:设置画布背景颜色为 ''c''。未设置时默认为白色。 | :只对 <code>-画布</code> 指令有效:设置画布背景颜色为 ''c''。可以是“<code>透明</code>”。未设置时默认为白色。 | ||
;<code>颜色 ''c''</code> | ;<code>颜色 ''c''</code> | ||
:设置图形的颜色为 ''c''。<br/>对于除线段之外的图形,未设置时默认为黑色;可将<code>颜色</code>设置为“透明”后再设置<code>描边</code>属性来绘制空心的图形。 | :设置图形的颜色为 ''c''。<br/>对于除线段之外的图形,未设置时默认为黑色;可将<code>颜色</code>设置为“<code>透明</code>”后再设置<code>描边</code>属性来绘制空心的图形。 | ||
;<code>描边 ''c''</code> | ;<code>描边 ''c''</code> | ||
:为图形添加颜色为 ''c'' 的描边。<br/>对于线段,与<code>颜色</code>属性等价。 | :为图形添加颜色为 ''c'' 的描边。<br/>对于线段,与<code>颜色</code>属性等价。 | ||
2025年12月7日 (日) 16:04的版本
WhatCommands 指令 wthsvg 可根据输入的一系列中文指令绘制图像。主要作者为 cycwin,DGCK81LNN 补充完善部分功能。
用法
¿¿wthsvg 指令...
wthsvg 的参数中每行为一条指令,指令分为操作和属性,操作以横杠(-)开头,属性跟在其所属的操作之后。
操作
-画布 w h- 指定画布宽为w,高为h,一般写在最开头作为第一个操作。
-左下角坐标- 特殊操作:此操作执行后,后续的所有操作中坐标原点在左下角,纵轴向上。未使用此操作时原点在左上角,纵轴向下。
-线段 x1,y1 x2,y2- 绘制从 (x1, y1) 到 (x2, y2) 的线段。
线段目前没有默认颜色,必须通过颜色属性手动设置颜色才可绘制。 -圆形 r x,y- 绘制一个圆心在 (x, y),半径为 r 的圆形。
-矩形 x1,y1 x2,y2- 绘制一个对角为 (x1, y1) 与 (x2, y2),平行于坐标轴的矩形。
-多边形 x1,y1 x2,y2 x3,y3...- 以给定的一系列坐标为顶点绘制多边形。
-文字 x,y 内容- 在 (x, y) 处绘制文本。
图形操作(不包括 -文字)可以一次输入多组参数,用英文分号(;)分隔,此时将同时绘制多个同类图形并共用属性。建议在分号之后或前后均添加空格以便阅读。例如,绘制四个半径 50 单位,紧挨在一起的圆:-圆形 50 100,100; 50 100,200; 50 200,100; 50 200,200
属性
设置颜色时,可以使用方括号括起并以空格分隔的 RGB 颜色值([r g b]),CSS 颜色语法(包括 rgb(R,G,B)、井号开头的十六进制颜色值、英文关键字颜色名)和我们预先定义的中文颜色名表示。
背景 c- 只对
-画布指令有效:设置画布背景颜色为 c。可以是“透明”。未设置时默认为白色。 颜色 c- 设置图形的颜色为 c。
对于除线段之外的图形,未设置时默认为黑色;可将颜色设置为“透明”后再设置描边属性来绘制空心的图形。 描边 c- 为图形添加颜色为 c 的描边。
对于线段,与颜色属性等价。 粗细 d- 设置线段或描边的宽度为 d。
渐变 c1 x1,y1 c2 x2,y2渐变描边 c1 x1,y1 c2 x2,y2- 设置图形(或描边)为渐变色,从 (x1, y1) 处颜色 c1 平滑过渡到 (x2, y2) 处颜色 c2。
(x1, y1)、(x2, y2) 两个点可以连成一条线段,称为渐变轴,颜色的 RGB 值在渐变轴上分别均匀变化;图形上任何一个其他的点,都与渐变轴上离那个点最近的一个点的颜色相同。也就是说,让渐变轴沿着垂直于自身的方向平移,扫过的面积里颜色均匀变化,而没有扫过的地方颜色与相应端点的颜色相同,即 c1 和 c2。 虚线 l d- 设置线段或描边为许多短线组成的虚线,短线长度为 l,每两条短线之间空出 d 的距离。
d 与 l 相同时可省略 d。 虚线 l1 d1 l2 d2 l3 ...- 高级虚线:从图形轮廓的起点开始先画长 l1 的短线,空出 d1 的距离,再画 l2 的短线,空出 d2,以此类推,直到最后一组 ln、dn 后循环。若最后一组只有 ln 没有 dn(即总共有奇数个数字),则最后一个短线长度 ln 跟循环回开头的第一个短线长度 l1 合并为一条长 ln + l1 的短线,之后再空出 d1 的距离,画 l2 的短线……这样继续下去。
平头- 取消线段或虚线两端默认存在的小半圆,使本来圆头的线变为平头。
方头- 将线段或虚线两端本来的小半圆改为小长方形,类似于
平头但是视觉上使线的两端各延长了线宽度的一半。 字号 s- 设置文字的大小为 s。
字体 名称- 设置文字使用的字体族名称。
字重 w- 设置字重(文字形状的粗细)为 w。
字重是一个 1000 以内的正整数,未设置时默认为 400,即常规。w 也可以是汉字“粗”,表示 700,即粗体。只有部分字体支持任意设置字重,多数只支持几个固定的值,如果字体不支持你设置的字重,会自动选择一个比较接近的可用值。 字宽- 设置字宽为 w%。
字宽是一个 50% 到 200% 之间的百分数,未设置时为 100%。只有部分字体支持设置字宽。 斜体- 使文字倾斜(使用意大利体的字母)。
斜体 a斜体后面也可以跟一个角度 a,表示让文字倾斜大约 a 度。正常的倾斜体是 14 度。很少有字体支持任意设置倾斜角度。左对齐右对齐- 让文字的左/右端对准设置的坐标。未设置时,默认是让文字的中心落在设置的坐标处。
示例
待添加