2026/9/10 23:38:58

Graphite 菜单栏(Menu Bar)完整操作指南:File、Edit、Layer、Select、View、Window、Help 菜单逐项详解

Graphite 菜单栏(Menu Bar)完整操作指南:File、Edit、Layer、Select、View、Window、Help 菜单逐项详解 Graphite 菜单栏Menu Bar完整操作指南File、Edit、Layer、Select、View、Window、Help 菜单逐项详解【免费下载链接】GraphiteCommunity-built comprehensive 2D content creation appplication for graphic design, digital art, and interactive real-time motion graphics powered by a node-based procedural graphics engine项目地址: https://gitcode.com/GitHub_Trending/gr/GraphiteGraphite 的**菜单栏menu bar**位于编辑器顶部标题栏title bar的左侧是一组横排菜单为文件处理、图层编辑、选区管理、画布导航、面板显隐与软件信息等高频操作提供了统一入口。阅读本篇后你将能逐一掌握每个菜单下所有动作的含义、键盘快捷键与适用场景并理解菜单项在无文档、无选区、节点图打开等状态下的自动禁用逻辑——这份指南既可作为日常操作速查手册也可作为开发者理解 Graphite 菜单系统架构的入口。菜单栏是什么菜单栏由File文件、Edit编辑、Layer图层、Select选择、View视图、Window窗口和Help帮助七个下拉菜单组成左侧还有一个app 按钮。点击任意菜单会弹出可点击的动作列表每一行右侧都会列出对应的键盘快捷键——学会使用快捷键是显著提升工作流速度的关键。从源码结构看菜单栏的完整布局由 菜单栏消息处理器 中的layout()方法动态构建每个菜单项都对应一个MenuListEntry通过.on_commit(...)绑定要派发的消息、通过.tooltip_shortcut(action_shortcut!(...))绑定快捷键提示、通过.disabled(...)声明禁用条件。构建好的布局经由 布局消息处理器 做差异diff计算后推送到前端最终由 TitleBar.svelte 订阅MenuBar布局更新并在窗口顶部渲染。值得注意的平台差异是在 macOS 上菜单栏会渲染进系统原生菜单栏布局处理器对 macOS 直接发送完整MenuBar布局以构建原生菜单而 Windows/Linux/Web 平台则在编辑器窗口内渲染同时 macOS 的标题栏中不渲染菜单按钮。以下各节按菜单逐一展开作为完整动作参考。如果你是第一次通读用户手册可以跳过本节直接进入后续章节。App 按钮app 按钮显示为 Graphite 的 Logo 图标点击它会打开网站首页。在源码中该按钮在非 macOS 平台被实现为带有GraphiteLogo图标、点击后触发访问https://graphite.art的TextButton在 macOS 平台则被实现为一个下拉菜单内含About Graphite…、Preferences…、Hide Graphite、Hide Others、Show All、Quit Graphite等应用级命令见 menu_bar_message_handler.rs。File 菜单File 菜单列出了与文件处理相关的动作菜单项说明New…打开新建文档New Document对话框用于在新编辑器标签页中创建空白画布。参数包括Name名称决定新文档的初始文件名。Infinite Canvas无限画布勾选后跳过添加画板artboard以无边界的白色画布开始向所有方向延伸。Dimensions尺寸设置初始画板的宽高像素单位。勾选Infinite Canvas时该参数被忽略。对应源码点击后派发DialogMessage::RequestNewDocumentDialogmenu_bar_message_handler.rs。Open…打开操作系统文件选择器从磁盘选择.graphite文件并在新编辑器标签页中打开。对应消息PortfolioMessage::Openmenu_bar_message_handler.rs。Open Demo Artwork…打开示例作品Demo Artwork对话框加载仓库 demo-artwork 目录下预置的示例文件如isometric-fountain.graphite、marbled-mandelbrot.graphite、red-dress.graphite等供你探索。点击每张图片下方的按钮即可打开对应作品。Close关闭当前活动文档。若文档有未保存的更改文件名后显示*号会询问你保存还是放弃更改。对应PortfolioMessage::CloseActiveDocumentWithConfirmationmenu_bar_message_handler.rs。Close All关闭所有已打开的文档。为避免意外丢失未保存的工作会要求你确认继续确认后将放弃所有打开文档中的未保存更改。对应PortfolioMessage::CloseAllDocumentsWithConfirmationmenu_bar_message_handler.rs。Save将活动文档保存为.graphite文件写入磁盘。Web 版可能弹出操作系统下载对话框询问保存位置该对话框允许你选择同名文件以覆盖先前版本而不是以带数字后缀的新实例保存。对应DocumentMessage::SaveDocumentmenu_bar_message_handler.rs。此外非 Web原生桌面构建还会额外提供Save As…另存为对应DocumentMessage::SaveDocumentAsmenu_bar_message_handler.rs。Import…打开操作系统文件选择器选择磁盘上的图片文件作为新的位图图层或 SVG 内容置入当前活动文档。对应PortfolioMessage::Importmenu_bar_message_handler.rs。Export…打开导出Export对话框将作品保存为PNG、JPG或SVG文件类型。Scale Factor缩放因子会乘以内容文档比例例如值为 2 时会把 300×400 的内容导出为 600×800 像素。Bounds范围选择渲染区域All Artwork使用所有图层的包围盒Selection使用当前选中图层的包围盒Artboard: [Name]使用该画板的边界。对应DialogMessage::RequestExportDialogmenu_bar_message_handler.rs。Preferences…打开编辑器偏好设置Editor Preferences对话框用于配置 Graphite 的各项设置。在非 macOS 平台该菜单项位于 File 菜单内在 macOS 平台则位于 app 按钮菜单中menu_bar_message_handler.rs。Edit 菜单Edit 菜单列出了与编辑工作流相关的动作菜单项说明Undo在活动文档的更改历史中后退一步。对应DocumentMessage::Undomenu_bar_message_handler.rs。Redo在活动文档的更改历史中前进一步。对应DocumentMessage::Redomenu_bar_message_handler.rs。Cut将选中的图层复制到剪贴板然后删除它们。对应ClipboardMessage::Cutmenu_bar_message_handler.rs。Copy将选中的图层复制到剪贴板。对应ClipboardMessage::Copymenu_bar_message_handler.rs。Paste将剪贴板中的图层粘贴到文档中粘贴后位于选中图层正上方否则位于文件夹结构底部。在 Web 版中浏览器会请求剪贴板读取权限你必须授予另一种方式是直接使用快捷键CtrlVmacOS⌘V这样无需浏览器权限。对应ClipboardMessage::Pastemenu_bar_message_handler.rs。Duplicate在图层堆叠中于原图层正上方创建所选图层的副本。对应DocumentMessage::DuplicateSelectedLayersmenu_bar_message_handler.rs。Delete删除所有选中的图层和文件夹。对应DocumentMessage::DeleteSelectedLayersmenu_bar_message_handler.rs。Convert to Infinite Canvas将文档中的所有画板替换为普通图层。当文档不再有任何画板时即成为无限画布。对应DocumentMessage::RemoveArtboardsmenu_bar_message_handler.rs。Layer 菜单Layer 菜单列出了与文档内图层相关的动作菜单项说明New在当前活动文档中创建新图层。新图层位于选中图层正上方否则位于文件夹结构底部。对应DocumentMessage::CreateEmptyFoldermenu_bar_message_handler.rs。Group在选中图层的位置创建新文件夹并将选中图层移入该文件夹。对应DocumentMessage::GroupSelectedLayers以GroupFolderType::Layer分组menu_bar_message_handler.rs。Ungroup移除选中的文件夹将其内容在图层堆叠中上移一层。对应DocumentMessage::UngroupSelectedLayersmenu_bar_message_handler.rs。Hide/Show切换选中图层的可见性决定其是否作为作品的一部分参与渲染。对应DocumentMessage::ToggleSelectedVisibilitymenu_bar_message_handler.rs。Lock/Unlock切换选中图层的锁定状态锁定后无法在视口中被工具选中。对应DocumentMessage::ToggleSelectedLockedmenu_bar_message_handler.rs。Grab开始抓取选中图层随光标移动进行平移移动。按X或Y锁定到某一轴然后使用数字键输入像素距离值。左键点击或Enter确认右键点击或Esc取消。对应TransformLayerMessage::BeginGrabmenu_bar_message_handler.rs。Rotate开始绕选中图层的枢轴点随光标移动旋转。使用数字键以度为单位输入角度值。左键点击或Enter确认右键点击或Esc取消。对应TransformLayerMessage::BeginRotatemenu_bar_message_handler.rs。Scale开始绕选中图层的枢轴点随光标移动缩放。按X或Y锁定到某一轴使用数字键输入缩放倍数。左键点击或Enter确认右键点击或Esc取消。对应TransformLayerMessage::BeginScalemenu_bar_message_handler.rs。Arrange ▸ Raise to Front将选中图层重排到同文件夹内所有其他图层之上使其在图层堆叠中显示并渲染于其他图层之上。对应DocumentMessage::SelectedLayersRaiseToFrontmenu_bar_message_handler.rs。Arrange ▸ Raise将选中图层在图层堆叠中上移一位原本紧邻其上的图层会紧邻其下。对应DocumentMessage::SelectedLayersRaisemenu_bar_message_handler.rs。Arrange ▸ Lower将选中图层在图层堆叠中下移一位原本紧邻其下的图层会紧邻其上。对应DocumentMessage::SelectedLayersLowermenu_bar_message_handler.rs。Arrange ▸ Lower to Back将选中图层重排到同文件夹内所有其他图层之下使其渲染于其他图层之下。对应DocumentMessage::SelectedLayersLowerToBackmenu_bar_message_handler.rs。Arrange ▸ Reverse通过上下互换位置来反转选中图层的顺序。反转作用于每组选中的兄弟图层即共享同一父级的图层。对应DocumentMessage::SelectedLayersReversemenu_bar_message_handler.rs。Align ▸ Align Left移动选中图层使其左边缘与选区包围盒的最左边缘对齐源码中以AlignAxis::XAlignAggregate::Min实现见 menu_bar_message_handler.rs。Align ▸ Align Horizontal Center移动选中图层使其水平中心与选区包围盒的水平中心对齐AlignAxis::XAlignAggregate::Centermenu_bar_message_handler.rs。Align ▸ Align Right移动选中图层使其右边缘与选区包围盒的最右边缘对齐AlignAxis::XAlignAggregate::Maxmenu_bar_message_handler.rs。Align ▸ Align Top移动选中图层使其顶边缘与选区包围盒的最顶边缘对齐AlignAxis::YAlignAggregate::Minmenu_bar_message_handler.rs。Align ▸ Align Vertical Center移动选中图层使其垂直中心与选区包围盒的垂直中心对齐AlignAxis::YAlignAggregate::Centermenu_bar_message_handler.rs。Align ▸ Align Bottom移动选中图层使其底边缘与选区包围盒的最底边缘对齐AlignAxis::YAlignAggregate::Maxmenu_bar_message_handler.rs。Flip ▸ Flip Horizontal在选区包围盒内水平镜像选中的图层FlipAxis::Xmenu_bar_message_handler.rs。Flip ▸ Flip Vertical在选区包围盒内垂直镜像选中的图层FlipAxis::Ymenu_bar_message_handler.rs。Turn ▸ Turn -90°绕选区包围盒中心将选中图层逆时针旋转四分之一圈对应DocumentMessage::RotateSelectedLayers { degrees: -90. }menu_bar_message_handler.rs。Turn ▸ Turn 90°绕选区包围盒中心将选中图层顺时针旋转四分之一圈对应DocumentMessage::RotateSelectedLayers { degrees: 90. }menu_bar_message_handler.rs。Boolean ▸ Union合并所选矢量图层的所有路径同时挖除重叠区域包括单条路径的内部。源码中将选中图层以GroupFolderType::BooleanOperation(BooleanOperation::Union)分组实现menu_bar_message_handler.rs。Boolean ▸ Subtract Front从所选矢量图层的最后一个中挖除重叠区域BooleanOperation::SubtractFrontmenu_bar_message_handler.rs。Boolean ▸ Subtract Back从所选矢量图层的第一个中挖除重叠区域BooleanOperation::SubtractBackmenu_bar_message_handler.rs。Boolean ▸ Intersect挖除其余部分仅保留所选矢量图层所有路径共享的重叠区域BooleanOperation::Intersectmenu_bar_message_handler.rs。Boolean ▸ Difference挖除所选矢量图层所有路径共享的重叠区域只保留非重叠区域BooleanOperation::Differencemenu_bar_message_handler.rs。Blend对选中的图层执行混合插值操作。对应DocumentMessage::BlendSelectedLayersmenu_bar_message_handler.rs。Morph对选中的图层执行变形形态插值操作。对应DocumentMessage::MorphSelectedLayersmenu_bar_message_handler.rs。Make Path Editable对选中的矢量图层应用路径编辑操作Path 节点在其它非破坏性操作之后捕获几何体使其可被Path与Pen工具直接修改。对应NodeGraphMessage::AddPathNode仅在make_path_editable_is_allowed为真时可用menu_bar_message_handler.rs。Expand Fill/Stroke将选中图层的填充/描边展开为可编辑路径。对应DocumentMessage::ExpandFillStrokeOnSelectedLayersmenu_bar_message_handler.rs。Select 菜单Select 菜单列出了与文档内图层选择相关的动作菜单项说明Select All选择文档中的所有图层和文件夹。对应DocumentMessage::SelectAllLayersmenu_bar_message_handler.rs。Deselect All取消选择文档中的所有内容。对应DocumentMessage::DeselectAllLayersmenu_bar_message_handler.rs。Select Parent选择当前选中图层的父文件夹。对应DocumentMessage::SelectParentLayermenu_bar_message_handler.rs。Previous Selection在选择历史中回到上一次选中的图层或节点集合。如果你的鼠标侧面有导航按钮可以使用后退按钮作为快捷方式Firefox 不支持。对应DocumentMessage::SelectionStepBack仅在存在可回溯的选择历史时可用menu_bar_message_handler.rs。Next Selection在选择历史中前进到下一个选中的图层或节点集合。鼠标侧面的前进按钮可作快捷方式Firefox 不支持。对应DocumentMessage::SelectionStepForwardmenu_bar_message_handler.rs。View 菜单View 菜单列出了与视口内画布视图相关的动作菜单项说明Tilt根据鼠标移动开始倾斜视口角度。倾斜时按住Shift可按 15° 增量吸附。左键点击或Enter确认右键点击或Esc取消。对应NavigationMessage::BeginCanvasTiltmenu_bar_message_handler.rs。Reset Tilt将视口倾斜角度重置为 0°。对应NavigationMessage::CanvasTiltSet { angle_radians: 0 }仅在画布已倾斜时可用menu_bar_message_handler.rs。Zoom In缩小视图到下一个整档缩放增量档位例如25%、33.33%、40%、50%、66.67%、80%、100%、125%、160%、200%、250%、320%、400%、500%。对应NavigationMessage::CanvasZoomIncreasemenu_bar_message_handler.rs。Zoom Out放大视图到上一个整档缩放增量档位同上。对应NavigationMessage::CanvasZoomDecreasemenu_bar_message_handler.rs。Zoom to Selection缩放并将视口取景到选中图层的包围盒。对应NavigationMessage::FitViewportToSelectionmenu_bar_message_handler.rs。Zoom to Fit缩放并将视口取景到所有画板若使用无限画布则取景全部作品。对应DocumentMessage::ZoomCanvasToFitAllmenu_bar_message_handler.rs。Zoom to 100%将视口缩放至 100% 比例使文档与视口比例 1:1 匹配。对应DocumentMessage::ZoomCanvasTo100Percentmenu_bar_message_handler.rs。Zoom to 200%将视口缩放至 200% 比例以实际大小的两倍显示作品。对应DocumentMessage::ZoomCanvasTo200Percentmenu_bar_message_handler.rs。Flip水平镜像视口翻转作品的视图直到取消激活。对应NavigationMessage::CanvasFlip菜单项前的复选框图标CheckboxChecked/CheckboxUnchecked会实时反映画布当前是否处于翻转状态menu_bar_message_handler.rs。Rulers切换视口顶部/左侧边缘标尺的可见性。对应PortfolioMessage::ToggleRulers图标同样以复选框形式反映标尺当前是否可见menu_bar_message_handler.rs。需要留意的是Tilt、Reset Tilt、Flip 等视图变换动作在节点图node graph打开时会自动禁用因为此时视口导航被节点图界面接管见 menu_bar_message_handler.rs。Window 菜单Window 菜单列出了与应用窗口内工作区面板显隐相关的动作菜单项说明Fullscreen切换全屏模式。对应AppWindowMessage::Fullscreenmenu_bar_message_handler.rs。Focus Document切换“聚焦文档”模式隐藏面板以将全部空间让给画布。对应PortfolioMessage::ToggleFocusDocument以复选框图标显示当前状态聚焦模式下 Properties、Layers、Data 三个面板的开关会被禁用menu_bar_message_handler.rs。Reset Workspace将工作区布局重置为默认。对应PortfolioMessage::ResetWorkspaceLayoutmenu_bar_message_handler.rs。Properties切换工作区右上侧Properties 面板属性面板的可见性。该面板用于查看和编辑图形操作节点参数的值选中的图层或节点会在其中显示参数化控件。对应PortfolioMessage::TogglePropertiesPanelOpenmenu_bar_message_handler.rs。Layers切换工作区右下侧Layers 面板图层面板的可见性。该面板用于组织和选择构成文档结构的画板与图层。对应PortfolioMessage::ToggleLayersPanelOpenmenu_bar_message_handler.rs。Data切换工作区左下侧Data 面板数据面板的可见性。该面板用于检查选中节点输出的数据流以便对节点图内生成的内容做技术性调试。对应PortfolioMessage::ToggleDataPanelOpenmenu_bar_message_handler.rs。Help 菜单Help 菜单列出了与 Graphite 相关信息相关的动作菜单项说明About Graphite…打开关于 Graphite对话框显示版本与许可证信息。你可以从中查看当前编辑器版本的发布日期。在非 macOS 平台位于 Help 菜单内macOS 平台位于 app 按钮菜单menu_bar_message_handler.rs。User Manual打开本用户手册menu_bar_message_handler.rs。Donate to Graphite打开 Graphite 开发基金页面你可以通过捐款支持项目的持续开发menu_bar_message_handler.rs。Report a Bug打开用于提交新 bug 报告的页面menu_bar_message_handler.rs。Visit on GitHub打开 Graphite 的 GitHub 仓库主页menu_bar_message_handler.rs。Developer Debug仅供开发者的动作分区普通用户应忽略。包含以下开关与工具menu_bar_message_handler.rsReset Nodes to Definitions on Open切换打开文档时是否将节点重置为最新定义对格式迁移调试有用。Show Storage Preferences切换是否显示存储偏好设置。Print Trace Logs切换是否输出 Trace 级别的日志。Print Messages: Off / Only Names / Full Contents三选一的日志详细度开关分别关闭消息打印、仅打印消息名称、打印完整消息内容。Trigger a Crash手动触发一次崩溃panic用于测试崩溃上报流程。理解菜单栏的自动禁用disabled机制细心的读者会发现同一个菜单项在不同状态下可能置灰不可用。从 MenuBarMessageHandler 的状态字段 可以看出菜单栏处理器维护了一组实时状态包括has_active_document是否存在活动文档、has_selected_layers/has_selected_nodes是否选中图层/节点、has_selection_history是否存在可回溯的选择历史、canvas_tilted画布是否已倾斜、canvas_flipped画布是否已翻转、rulers_visible标尺是否可见、node_graph_open节点图是否打开、focus_document是否聚焦文档模式以及三个面板的打开状态。每个菜单项都通过这些状态推导出.disabled(...)条件例如没有活动文档时Close、Save、Undo、Redo、Paste、所有图层操作等涉及文档内容的菜单项全部禁用没有选中图层时Cut、Copy、Group、Align、Flip、Turn、Boolean 等基于选区的操作禁用没有选择历史时Previous Selection / Next Selection 禁用节点图打开时Tilt、Reset Tilt、Flip 等视口导航操作禁用。由于每个菜单项最终都会映射到一个具体的编辑器消息如DocumentMessage、PortfolioMessage、NavigationMessage、TransformLayerMessage、DialogMessage、AppWindowMessage、FrontendMessage等这套菜单体系本质上是消息驱动架构的入口之一菜单栏中的每次点击都通过on_commit回调向消息队列派发对应动作再经 dispatcher.rs 分发到相应处理器执行。理解了这一点无论是日常使用还是参与开发都能更准确地预判菜单行为。【免费下载链接】GraphiteCommunity-built comprehensive 2D content creation appplication for graphic design, digital art, and interactive real-time motion graphics powered by a node-based procedural graphics engine项目地址: https://gitcode.com/GitHub_Trending/gr/Graphite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考