【转载】OmniGraffle (四)化繁为简

OmniGraffle 在内容组织上有页面和图层这两个层级,稍有点遗憾的是目前的版本还没有文件夹的管理层级,希望后续的版本能加上。页面、图层、共享图层实现对内容的组织和共享。另外,OmniGraffle 还能像Keynote一样进行演示,页面以及图层之间可以通过「动作」的设定进行跳转或者打开指定的文件,这种整合能力有助于我们在 OmniGraffle 中以项目的方式来推进工作。例如,一个文稿中可以包含思维导图、流程图、软件原型以及交互演示,在流程图中设置动作直接跳转到软件原型的展示页面,方便我们在逻辑和界面效果展示上平滑的切换。

流程图或思维导图一类的基础绘图中,一般也就1-2页的内容,用到图层的机会也不多,通常只是把页眉页脚这些公共元素用共享图层来统一。原型图、平面图这类绘图中,图层的作用更突出一些,可以用图层管理繁杂的绘图元素,按元素属性或者目的的不同来分层管理,例如,平面图中建筑平面的电源布局、网络布线、人员位置、设备位置等等都可以基于图层来分层管理,通过图层的显示或隐藏来获得不同的结果。

文档的只读和内容锁定

复杂的绘图中,除了分层管理的必要性之外,对暂时不需要修改的内容进行锁定也是化繁为简的必要手段,可以减少误操作和不必要的选择干扰。OmniGraffle 的锁定从大到小可以依次分为:①对整个文档的保护(只读)、②对图层的保护(图层锁定)以及③针对个别对象的锁定。

文档的只读和内容锁定

OmniGraffle 只读文档只允许用户查看,不能进行修改,这是对最终文档的一种保护形式,OmniGraffle 自带的 Welcome 文档和键盘快捷方式文档(帮助菜单里的:开始使用和键盘快捷方式)打开后就都是只读模式,如果要修改它们的只读特性,只能「导出」成新的OmniGraffle 文档并去掉「制作为只读文档」的勾选。

展开页面的图层图标,点击图层控制中的小锁图标来锁定图层,锁定图层里的对象不再会被选中,可以用来避免绘制对象之间的干扰。

如果仅需要对个别对象的锁定,只需要在对象上右键,通过右键菜单中的「锁定」和「解锁」来控制对象。

检查器面板的锁定, 双击检查器面板的图标可以锁定在当前面板,不随对象的选择自动切换。
工具栏图标的锁定,双击某个图标就能一直处于图标选中的状态。

版面和图层

OmniGraffle 的版面可以理解成我们通常的「画布」或者「页」,比较特殊的是每个版面可以拥有独立的页面设置,页面的大小和单位可以根据内容的不同单独设置。在版面的大图标预览列表中能看到版面设置的具体定义,修改「检查器」面板中的对应设置后这里也会对应发生变化。

版面和图层

每个版面的命名都需要是唯一的,复杂的绘图作业中我们可以通过页面的名称来快速的定位到具体的页面,当然还有一种方式是人工建目录页,通过设置页面跳转来快速的定位到具体页面。版面列表中的「使用小图标」可以呈现更简略和更多的页面。

版面之间通过拖拽可以调整顺序、按住「option」键拖拽能快速的复制版面,图层之间同样适用。

点击图层的图标,可以在普通图层和共享图层之间转换,一旦转成共享图层,默认会添加到文稿中所有的其他页面,如果只想在指定的页面添加共享图层,可以按住「command」选中需要添加共享图层的多个版面,然后通过右键菜单「新建共享图层」。

当前可编辑的图层前会有一个「笔」的图标,在拥有多个图层的版面中编辑时需要留意你当前所处的具体图层,被锁定的图层需要解锁后方可编辑。

动作和页面跳转

软件原型和流程图的演示说明中经常需要用到跳转,可以通过「属性」面板「动作」来具体设定给某个对象,在「演示模式」中鼠标悬停在包含动作的对象上时会显示醒目的角标。

动作和页面跳转

比较常用的动作有:「显示或隐藏图层」和「跳转到别处」,显示或隐藏图层在软件原型中用的比较多,可以用来显示弹出的菜单项或者展现局部的变化,跳转到别处既可以用来跳转到指定的页,也可以用来缩放页面显示焦点,高亮某个对象。

设定好的动作除了在 OmniGraffle 自己的演示模式下使用以外,也可以在导出的PDF、HTML格式中保留。

变量与测量

变量可以动态的获取相应的数值和字符串,可以插入到文本标签中使用。例如,背景图层中经常需要用到的页面的名称(Canvas Name)、页码(Page Number)和文稿名称(Document Name)等等。

变量中的数值部分还可以用来做动态的测量,动态的显示X、Y坐标值、宽度、高度和线条长度。将对象的文本标签修改成高度和宽度的变量后,拖动缩放对象时可以直观的看到大小的变化,很方便。

可插入变量和普通线条设定

变量「Line Length」用在线条的标签上,可以将线条变成测量用的标尺,动态显示线条端点之间的距离。需要注意的是,默认我们创建的线条是连接线,靠近其他对象时会自动连接,如果要转成普通线条来使用,可以到属性面板中去掉「允许自动线条连接」和「允许连接到其他对象」的勾选。

连接线的线条端点会自动连接到靠近的对象,如果要自由移动端点的位置,可以按住 option 键强制不自动连接。

LinkBack和共享对象

OmniGraffle 中的 LinkBack 主要用于对象的复用,通过LinkBack 的操作可以将一个或多个对象变成「共享对象」,这样,修改一次引用它的诸多地方都会统一修改,例如,网页原型中页眉和页脚部分我们可以用共享图层的方式来共用,而返回按钮这样重复使用率很高的对象就适合用「共享对象」的形式来插入。

要设置 LinkBack 需要先选择好对象,由右键菜单中选择 「拷贝为 - PDF」,然后可以删除原来的对象,此时粘贴回来的对象就已经是 「共享对象」。 LinkBack 对象可以直接复制它粘贴到需要的地方,如果要修改它只需要在任何一个 LinkBack 对象上双击。

双击 LinkBack 对象会打开单独的编辑窗口,编辑修改后正确的操作是后通过菜单选择存储「?S」,并关闭 LinkBack 对象编辑窗口。如果编辑后直接关闭,此时弹出的窗口会将 LinkBack 对象单独保存成 OmniGraffle 文件,而不会更新你引用的 LinkBack 对象。在使用 LinkBack 对象时经常容易出现的问题就是没有「?S」,而是直接关闭将其变成了单独的文件。

LinkBack 对象编辑

LinkBack 是嵌入内容的一种方式,在这种方式下,你可以随时使用建立内容的软件返回并编辑内容。除了 OmniGraffle 里可以实现这种嵌入式的调用以外,LinkBank 还支持 OmniOutline、Nisus Writer Pro、LaTeXiT等软件,更多其他软件可以通过 www.linkbackproject.org 网站进行查询。

Linkbackproject 的网站列表里,除了OmniGroup自家的几个软件以外,其他的平时用到的机会不多,对 Keynote 的支持还需要安装插件才行,而且是很早以前的Keynote 4时期的产物,所以它的主要应用场所还是 OmniGraffle 自己。

其他小技巧

数学运算

通常调节对象的数值时是将光标定位到数值框以后,按「上下」箭头键来增加或减少数值,不过 OmniGraffle 的数值框中还可以进行简单的数学运算,可以直接在数值框中输入运算符号和数值,如:「*2」、「/4」、「-10」、「+2」。这种方式在调整对象的相对大小、位置时非常方便。

数值框中的数学运算

调整顺序和图层

  • 页面和图层可以通过拖拽调整顺序;
  • 目录面板的对象列表模式中,通过拖拽可以调整对象的前后排列顺序;
  • 由目录列表中选择对象可以拖拽移动对象到版面中的任一个页或图层。

图片更新

桌面图片可以直接拖拽到画布,如果是更新已有的图片,直接拖拽到图片上高亮后松开就可以实现替换,另外,拖拽到图像设置面板的缩略图上也可以实现替换。

近似选择

目录面板中的近似对象可以方便的同时选中多个对象,在批量修改时很方便,通过开关近似对象上的判断条件,可以调整近似匹配的范围。通过对象上的右键菜单,也可以实现「类似对象」的快速选择。

近似对象选择



OmniGraffle for Mac 6.1 功能上的变化不多,增加了检查器的悬浮窗口的显示模式和对 Visio 2013格式的支持,其他方面主要是配合Yosemite的界面「扁平化」。

6.1的新功能中新增的对象之间的层叠选项和特效非常实用,相对旧版本来说,大大的简化了操作步骤,可以像 Photoshop 一样设置对象层之间的叠加效果。填充特效中新增的模糊、像素和放大效果可以快速的设置一个区域的模糊和放大镜效果,不过放大后的内容会有点模糊,如果要保持清晰度还是需要用传统的填充的方式来实现。

对象层叠选项

对象层叠特效

时间: 2024-08-02 22:40:21

【转载】OmniGraffle (四)化繁为简的相关文章

四类设计人员

转载:四类设计人员 个人觉得设计人员可以分为四种类型:模块设计人员.框架设计人员.专业领域设计人员.系统设计人员,这四种类型的设计人员并没有什么绝对的谁强谁弱,只能说各有千秋吧,但一定程度上来讲,四种类型之间还是存在着一些关联,来看看这四类设计人员的专注点和关联吧:1.模块设计人员      模块设计人员更加专注于模块的详细设计方面,这是个细活来着,模块设计人员需要对基于架构的模块实现有充足的考虑,而这就要求模块设计人员在代码的实现上有充足的经验,需要把握在模块代码实现上可能碰到的问题,在设计时

Android Xutils框架HttpUtil Get请求缓存问题

话说,今天和服务器开发人员小小的逗逼了一下,为啥呢? 话说今天有个"收藏产品"的请求接口,是get request的哦,我客户端写好接口后,点击"收藏按钮",返回"收藏成功",我又点了一下,尼玛居然还是"收藏成功",我再点一下,这下对了,返回给我"取消收藏成功",好吧,我又点了一下,彻底郁闷了,居然又是"取消收藏成功",这不是逗我的么? 于是我让服务器人员检查他的接口,是不是有啥幺蛾子,

[email protected]一个高效的配置管理工具--Ansible configure management--翻译(八)

如无书面授权,请勿转载 第四章,大型项目中Ansible的使用 Roles If your playbooks start expanding beyond what includes can help you solve, or you start gathering a large number of templates, you may want to use roles. Roles in Ansible allow you to group files together in a de

[email protected]一个高效的配置管理工具--Ansible configure management--翻译(九)

如无书面授权,请勿转载 第四章 大型项目中Ansible的使用 New features in 1.3 There are two features in Ansible 1.3 that were alluded to previously in the chapter. The first feature is the metadata roles. They allow you to specify that your role depends on other roles. For ex

[转载+原创]Emgu CV on C# (四) —— Emgu CV on 二值化

重点介绍了二值化原理及数学实现,并利用emgucv方法编程实现. 一.理论概述(转载,如果懂图像处理,可以略过,仅用作科普,或者写文章凑字数)  1.概述 图像二值化是图像处理中的一项基本技术,也是很多图像处理技术的预处理过程. 图像的预处理在进行图像二值化操作前要对图像进行预处理,包括彩色图像灰化和增强.由于选取阈值需要参照直方图,因此在图像进行处理后,我们再获取图像的直方图以帮助选取阈值.整个流程如下所示: 读取图像→灰度图像→图像增强→图像直方图→二值化处理 2.数学原理(转载,基本可以不

转载:CSS实现三栏布局的四种方法示例

转载网址:http://www.jb51.net/css/529846.html 前言 其实不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具体的介绍了三栏布局的四种方法,并介绍了它的使用场景. 所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式. 1.绝对定位法 HTML代码如下: <div class="left&quo

基础总结篇之二:Activity的四种launchMode(转载)

合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些.作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行.成大事者,须从小事做起:万事起于忽微,量变引起质变. 我们今天要讲的是Activity的四种launchMode. launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实

转载:monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)

转载自:lynnLi 的monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行. Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种做法允许在Python中继承一个Java类型,可以调用任意的 Java API . 本文档主要是可以实现在eclipse环境中运行Monkeyrunner脚本.所需要的环境和工具如下:

TCP协议中的三次握手和四次挥手(图解)【转载】

建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源.Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了. 那如何断开连接呢?简单的过程如下: [注意]中断连接端可以是Client端,也可以是Server端. 假设Client端发起中断连接请求,也就是发送FIN报文.Server端接到FIN报文后,