当前位置:首页 > 科技  > 软件

剖析 Figma 图形对象的基本属性

来源: 责编: 时间:2024-05-16 09:09:21 255观看
导读大家好,我是前端西瓜哥。今天我们来看看 Figma 图形对象的一些基本属性。这些属性来自 fig 文件,更贴近 Figma 图形的底层数据结构。Figma 也提供了 REST API 接口获取设计稿的图形树结构,且大多数属性和 fig 文件的相同

ekY28资讯网——每日最新资讯28at.com

大家好,我是前端西瓜哥。ekY28资讯网——每日最新资讯28at.com

今天我们来看看 Figma 图形对象的一些基本属性。ekY28资讯网——每日最新资讯28at.com

这些属性来自 fig 文件,更贴近 Figma 图形的底层数据结构。ekY28资讯网——每日最新资讯28at.com

Figma 也提供了 REST API 接口获取设计稿的图形树结构,且大多数属性和 fig 文件的相同,文档说明也更详细。ekY28资讯网——每日最新资讯28at.com

但有些属性在底层属性上做了一层封装,以提供更好的语义。比如在 REST API 的数据有 rotation 属性,但 fig 文件并没有,需要通过 transform 矩阵属性计算出来。ekY28资讯网——每日最新资讯28at.com

https://www.figma.com/developers/api#node-typesekY28资讯网——每日最新资讯28at.com

基本属性

guid:图形 id 对象,用于唯一标识图形。ekY28资讯网——每日最新资讯28at.com

它有两个属性:sessionID(会话 id,每个 socket 连接一个唯一 id),以及 localID(一个自增 id),二者组合可得到一个在和本地图形和其他客户端图形都不同的唯一 id,以便实现协同编辑。ekY28资讯网——每日最新资讯28at.com

{  "sessionID": 1,  "localID": 7}

phase:通常是 CREATED,表示创建。貌似使用了 quill 的 delta 风格。不知道有没有其他的值,比如 delete 这些。ekY28资讯网——每日最新资讯28at.com

parentIndex:父节点 id。fig 的数据结构是拍平的一维数组,加载时需要根据 parentIndex 还原为图形树结构。ekY28资讯网——每日最新资讯28at.com

type:图形(或者说是节点)类型,比如 ROUNDED_RECTANGLE(圆角矩形)、VECTOR(矢量网格)。还有一些非图形的类型,如 VARIABLE(变量,比如颜色变量)。ekY28资讯网——每日最新资讯28at.com

name:图形名。ekY28资讯网——每日最新资讯28at.com

visible:是否可见。ekY28资讯网——每日最新资讯28at.com

locked:是否锁定,锁定的图形不可选择,不可通过光标移动。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

opacity:不透明度,介于 0 到 1 之间。0 表示完全透明,1表示完全不透明。ekY28资讯网——每日最新资讯28at.com

blendMode:混合模式,表示当前节点和其下的图层以何种形式混合。默认为 PASS_THROUGH(穿透)。ekY28资讯网——每日最新资讯28at.com

size:一个对象,x 为宽,y 为高。属性名不是 width 和 height,大概因为用了矢量结构体。ekY28资讯网——每日最新资讯28at.com

transform:一个表达 3x3 矩阵的对象,会对节点进行矩阵变换。ekY28资讯网——每日最新资讯28at.com

size 和 transform 可以表达一个变形的矩形,包括位移、旋转、翻转、斜切等。ekY28资讯网——每日最新资讯28at.com

这种表达方式很简洁,方便做 GPU 并行渲染,也便于直转 SVG。ekY28资讯网——每日最新资讯28at.com

proportionsConstrained:是否锁定宽高比。如果为 true,输入框修改宽时,高会自动更新,保持原来的宽高比,反之同理。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

cornerRadius:圆角半径。ekY28资讯网——每日最新资讯28at.com

cornerSmoothing:平滑圆角程度,比如 60% 对应 iOS 图标的平滑程度。ekY28资讯网——每日最新资讯28at.com

horizontalConstraint / verticalConstraint:图形的水平和垂直约束,指定在 frame(画框)缩放时图形缩放或移动的方式。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

支持的类型值有:ekY28资讯网——每日最新资讯28at.com

  • MIN:默认值,向左或向上保持固定距离。
  • MAX:向右或向下保持固定距离。
  • CENTER:向 frame 的中心点保持相对距离。
  • STRETCH:拉伸,向左(上)和向右固定距离,缩放 frame 会引起图形拉伸。
  • SCALE:保持相对 frame 的比例关系。

handleMirroring:拖拽控制点调整路片段(segment)时,入控制点(handleIn)和出控制点(handleOut)的镜像关系。ekY28资讯网——每日最新资讯28at.com

有三种形式:ekY28资讯网——每日最新资讯28at.com

  • NONE,默认值,无镜像关系,两个控制点各自独立;
  • ANGLE,角度一致但长度各自独立,表现为:修改一个控制点,两个控制点和路径点都在一条直线上,但另一个控制点到路径点的长度保持不变;
  • ANGLE_AND_LENGTH,角度和长度相同,即完全 路径点对称,见下图。

ekY28资讯网——每日最新资讯28at.com

填充

fillPaints:填充对应的 Paint 数组。ekY28资讯网——每日最新资讯28at.com

比如下面是SOLID(纯色)的表示。ekY28资讯网——每日最新资讯28at.com

fillPaints: [  {    "type": "SOLID",    "color": {      "r": 0.7631543278694153,      "g": 0.9063313603401184,      "b": 0.6506586074829102,      "a": 1    },    "opacity": 1,    "visible": true,    "blendMode": "NORMAL" // 这里也有混合模式  },]

数组前面的填充会覆盖掉后面的填充。ekY28资讯网——每日最新资讯28at.com

此外 Figma 还支持 IMAGE(图片)、GRADIENT_LINEAR(线性渐变)、GRADIENT_LINEAR(径向渐变)、GRADIENT_ANGULAR(旋转渐变)、GRADIENT_DIAMOND(菱形渐变)、VIDEO (视频)等 PaintType 类型。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

fillGeometry:大概是填充对应的图形化描述,指向一个 Buffer 对象,能转成类型数组,但不知道什么解析。ekY28资讯网——每日最新资讯28at.com

但如果使用开发者 REST API,这个属性得到的是 SVG 的 Path 描述;ekY28资讯网——每日最新资讯28at.com

描边

strokePatins:描边数组,基本和 fillPaints 一样。ekY28资讯网——每日最新资讯28at.com

strokeGeometry:同 fillGeometry。ekY28资讯网——每日最新资讯28at.com

strokeWeight:描边宽度。ekY28资讯网——每日最新资讯28at.com

dashPattern:数字数组,描述虚线描边的规则,指定连续的 “实线-虚线-实线-...” 这样循环下去,参考 SVG 的 stroke-dasharray 属性。ekY28资讯网——每日最新资讯28at.com

strokeAlign:描边对齐,默认为 INSIDE(内描边),此外还有 CENTER(往两边扩展)、OUTSIDE(外描边)。ekY28资讯网——每日最新资讯28at.com

strokeCap:描边路径两端的样式,默认为 NONE,除了经典的 SQUARE、ROUND,还有特殊的 LINE_ARROW、CIRCLE_FILLED 等值,可以产生箭头或其他特殊样式。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

strokeJoin:路径转角的处理方式。MITER(斜接)、 BEVEL(倒角) 和 ROUND(圆角)。ekY28资讯网——每日最新资讯28at.com

miterLimit:对斜角长度与线宽比例的阈值,在 strokeJoin 为 milter 时有效,表示为超过阈值时,尖角会变成 bevel。的效果。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

编辑器 UI 上并没有这个属性,但有个 Miter angle 属性,它和 miterLimit 的转换关系为:miterLimit = miterLength / stroke-width = 1 / sin (theta / 2)。可以参考 SVG 的 stroke-milterlimit 属性。ekY28资讯网——每日最新资讯28at.com

下图中,蓝色路径的转角突破了阈值,小于 28.96,于是从 miter 变成了bevel。ekY28资讯网——每日最新资讯28at.com

ekY28资讯网——每日最新资讯28at.com

borderStrokeWeightsIndependent:边框线是否各自独立设置线宽。ekY28资讯网——每日最新资讯28at.com

borderTopWeight / borderBottomWeight / borderLeftWeight / borderRightWeight:图形的 4 个边框的宽度,当前面这个 borderStrokeWeightsIndependent 属性为 true 时会使用。ekY28资讯网——每日最新资讯28at.com

效果

effects:效果数组。ekY28资讯网——每日最新资讯28at.com

有这几种效果:ekY28资讯网——每日最新资讯28at.com

  • DROP_SHADOW:外阴影;
  • INNER_SHADOW:内阴影;
  • BACKGROUND_BLUR:背景模糊,该图层下的背景会被模糊掉,类似毛玻璃效果,通常这个图形要设置透明度;
  • FOREGROUND_BLUR:前景模糊(貌似就是高斯模糊)

蒙版

mask:图形是否作为蒙版,设置为蒙版图形的前面的兄弟节点不在被蒙版区域的部分不会被渲染;ekY28资讯网——每日最新资讯28at.com

maskType:指定蒙版类型。默认是 ALPHA (基于透明度),此外还有 VECTOR(基于图形轮廓线)、LUMINANCE(基于明度)。ekY28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88375-0.html剖析 Figma 图形对象的基本属性

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Go 事件驱动编程:实现一个简单的事件总线

下一篇: 一次炫技差点引发的惨案

标签:
  • 热门焦点
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 天猫精灵Sound Pro体验:智能音箱没有音质?来听听我的

    这几年除了手机作为智能生活终端最主要的核心之外,第二个可以成为中心点的产品是什么?——是智能音箱。 手机在执行命令的时候有两种操作方式,手和智能语音助手,而智能音箱只
  • 服务存储设计模式:Cache-Aside模式

    Cache-Aside模式一种常用的缓存方式,通常是把数据从主存储加载到KV缓存中,加速后续的访问。在存在重复度的场景,Cache-Aside可以提升服务性能,降低底层存储的压力,缺点是缓存和底
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 机构称Q2全球智能手机出货量同比下滑11% 苹果份额依旧第2

    7月20日消息,据外媒报道,研究机构的报告显示,由于需求下滑,今年二季度全球智能手机的出货量,同比下滑了11%,三星、苹果等主要厂商的销量,较去年同期均有下
  • Counterpoint :OPPO双旗舰战略全面落地 高端产品销量增长22%

    2023年6月30日,全球行业分析机构Counterpoint Research发布的《中国智能手机高端市场白皮书》显示,中国智能手机品牌正在寻求高质量发展,中国高端智能
Top