4. OBJECT EDITING ESSENTIALS

本文介绍Adobe Illustrator中各种快捷键及实用操作技巧,包括预览与大纲视图切换、路径选择与移动、自由变换工具使用、变换面板高级设置等,帮助用户提升工作效率。

1、preview和outline之间切换的快捷键是ctr+Y或view-outline。

 

2、使用路径选择工具,先择要移动的点然后回车,可以在对话框中设置这些点移动的角度和距离。

 

3、可以在工具栏中使用自由转换工具手动转换,这样转的特点是不精确。另外可以使用transform工具栏转换,使用该形式转换可以设置精确的数字。

 

4、在transform面版右上角下拉框中有一个scale stroke and effect选项,选择上,在变换时笔触和效果会一起转换,如果不选择,则只转换填充。

 

5、edit-preferenct菜单的generer选项可以设置键盘鼠标上/下键按下时的增量。

 

6、object-group/ungroup可以组件或分菜一些path。快捷键为ctr+g/ctr+shift+g。

 

7、双击一个path对像会进入isolution mode。在工作区上面或layer中可以看到导航。双击对像外的地方可以回到一般模式。

 

8、在isolution mode模式下可以单独选中处于group下的某个对像。

 

9、当多个path对像叠在一起时,ctr+click每点一下就会选中下一层的对像。

 

10、type-arange可以切换对像的上下层顺序。

先展示下效果 https://pan.quark.cn/s/e81b877737c1 Node.js 是一种基于 Chrome V8 引擎的 JavaScript 执行环境,它使开发者能够在服务器端执行 JavaScript 编程,显著促进了全栈开发的应用普及。 在 Node.js 的开发流程中,`node_modules` 文件夹用于存储所有依赖的模块,随着项目的进展,该文件夹可能会变得异常庞大,其中包含了众多可能已不再需要的文件和文件夹,这不仅会消耗大量的硬盘空间,还可能减慢项目的加载时间。 `ModClean 2.0` 正是为了应对这一挑战而设计的工具。 `ModClean` 是一款用于清理 `node_modules` 的软件,其核心功能是移除那些不再被使用的文件和文件夹,从而确保项目的整洁性和运行效率。 `ModClean 2.0` 是此工具的改进版本,在原有功能上增加了更多特性,从而提高了清理工作的效率和精确度。 在 `ModClean 2.0` 中,用户可以设置清理规则,例如排除特定的模块或文件类型,以防止误删重要文件。 该工具通常会保留项目所依赖的核心模块,但会移除测试、文档、示例代码等非运行时必需的部分。 通过这种方式,`ModClean` 能够协助开发者优化项目结构,减少不必要的依赖,加快项目的构建速度。 使用 `ModClean` 的步骤大致如下:1. 需要先安装 `ModClean`,在项目的根目录中执行以下命令: ``` npm install modclean -g ```2. 创建配置文件 `.modcleanrc.json` 或 `.modcleanrc.js`,设定希望清理的规则。 比如,可能需要忽略 `LICENSE` 文件或整个 `docs`...
export default class OperationRecord { static _instance; constructor() { this._redoEventStack = []; this._undoEventStack = []; this._editRedoEventStack = []; this._editUndoEventStack = []; this._currentOperation = { param: {} }; this._operationArray = []; this._editOperationArray = []; this._editing = false; this.maxLength = Infinity; this.editMaxLength = Infinity; OperationRecord._instance = null; } static instance() { if (!OperationRecord._instance) { OperationRecord._instance = new OperationRecord(); } return OperationRecord._instance; } setMaxLength(maxLength) { this.maxLength = maxLength; } setEditMaxLength(maxLength) { this.editMaxLength = maxLength; } popUndo() { const undoStack = this._editing ? this._editUndoEventStack : this._undoEventStack; const redoStack = this._editing ? this._editRedoEventStack : this._redoEventStack; if (undoStack.length > 0) { const event = undoStack.pop(); redoStack.push(event); return event?.undo; } } popRedo() { const undoStack = this._editing ? this._editUndoEventStack : this._undoEventStack; const redoStack = this._editing ? this._editRedoEventStack : this._redoEventStack; if (redoStack.length > 0) { const event = redoStack.pop(); undoStack.push(event); return event?.redo; } } revokes() { const undos = []; const redos = []; const operationArray = this._editing ? this._editOperationArray : this._operationArray; operationArray.sort((a, b) => a.order - b.order); for (const operation of operationArray) { undos.push(() => { operation.revoke.undo(operation.param); }); redos.push(() => { operation.revoke.redo(operation.param); }); } redos.reverse(); return { undos, redos }; } push() { const undoStack = this._editing ? this._editUndoEventStack : this._undoEventStack; const redoStack = this._editing ? this._editRedoEventStack : this._redoEventStack; const maxLength = this._editing ? this.editMaxLength : this.maxLength; if (undoStack.length >= maxLength) { const len = undoStack.length - maxLength + 1; undoStack.splice(0, len); } const { undos, redos } = this.revokes(); undoStack.push({ undo: () => { for (const func of undos) { func(); } }, redo: () => { for (const func of redos) { func(); } }, }); redoStack.length = 0; this._editing ? this.clearEditOperationArray() : this.clearOperationArray(); }
08-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值