面粉口袋取出刀来
一个模块,带有手动工具,可以在面粉模板中使用.
import { isUrl, isImage } from "@flourish/pocket-knife"
职能
创建ScreenshotSVG( 目标, id)
创建一个可以用于SVG导出的临时SVG元素. 需要一个 target a. 用于确定主 svg 容器的边界和位置的元素 id 用于设置 SVG 元素中唯一的 ID.
此函数返回一个 .addTextElements(els), (中文(简体) ), .addCircleElements(els), (中文(简体) ), .addGradient(el, colorFunction, domain),以及 .remove() 方法. .remove() 将删除 SVG . addTextElements 需要节点列表( e)els)并将转换为 SVG <text> 元素,包含元素的字体样式和行高。 同样, addCircleElements 取出元素( 如带有背景颜色的 divs) 并将其转换为 SVG <circle> 要素. addGradient 取一个元素、一个颜色函数和一个域;域应该是带有一个 min 财务报告和审定财务报表 max 表示渐变所代表的起始和结尾值,颜色函数应在域内取出一个数字并返回代表该数字的颜色.
此函数可用于模板的 screenshot() 函数以临时创建将包含在 SVG 导出中的 SVG .
获取 Text Dimensions( 字符串, 字体)
获得文字的维度. 第一个参数包含要计算宽度的文字。 第二个参数是可选的,允许您在标准 CCs 字体属性中设置文本的字体设置, eg . bold 16px arial如果 font 是空的, 它使用 10px sans-serif返回带有属性的对象 width 财务报告和审定财务报表 height。 。 。 .
获取文本方向 ()
在文档.body上计算文本方向。 返回一个"ltr"或"trl".
获取 TextHeight( 字符串, 字体)
获得文字高度. 使用与 getTextDimensions。返回一个数字.
获取 TextWidth( 字符串, 字体)
获得文本的宽度 。 使用与 getTextDimensions。返回一个数字.
获取 Binding (数据、 绑定、 索引)
获取与数据绑定相关的列中的所有唯一值。 如果是一个多列绑定, 您可以通过索引, 用于确定它应该查看的哪个列 。 如果您没有通过索引, 它是一个多列绑定, 它将默认为零 .
六进制color( hex string, 不透明)
按描述将十六进制转换为 d3 颜色对象 这里
hexToColor("#00ff00", 0.5); // {r: 0, g: 255, b: 0, a: 0.5}
hex 字符串, 不透明)
将十六进制转换为 rgba 字符串
hexToRgba("#00ff00", 0.5); // rgba(0, 255, 0, 0.5)
图像( 字符串)
检查字符串是否看起来像有效的图像 URL 。 回返 true 或者说 false
是Pale( 颜色 值)
颜色是否苍白的返回
isUrl( 字符串)
检查字符串是否看起来像有效的 URL 。 回返 true 或者说 false
rem ToPx( 缩写)
将 rems 指定的值转换为 px
外包装 StringToLines( 标签、 标签 样式、 文本 max 行、 最大 宽度)
取出一个字符串,然后返回一个字符串阵列,每个字符串都是一行的文本.
- 标签是一个字符串, 您想要被分割成行
- 标签 样式是可以包含字体重量,字体大小和字体家族在结构中的字符串:"bold 48px serif". 用于测量文本.
- text max 行是表示您想要的最大行数( 如果您没有最大行数, 可以给出为无效) 的数字
- max width是用px表示标签最大宽度的数字.