首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在postscript中对对象进行分组?

在PostScript中,可以使用gsavegrestore命令来对对象进行分组。gsave命令用于保存当前的图形状态,包括当前的变换矩阵、颜色设置等。然后可以对对象进行绘制操作,这些操作将只影响到被gsavegrestore包围的部分。最后,使用grestore命令恢复之前保存的图形状态。

以下是一个示例代码,演示如何在PostScript中对对象进行分组:

代码语言:txt
复制
% 定义一个矩形对象
/newrect {
    100 100 moveto
    200 0 rlineto
    0 200 rlineto
    -200 0 rlineto
    closepath
} def

% 绘制一个红色矩形
0.8 0.2 0.2 setrgbcolor
newrect fill

% 对象分组
gsave

% 绘制一个蓝色矩形
0.2 0.2 0.8 setrgbcolor
newrect fill

% 对象分组结束,恢复之前的图形状态
grestore

% 绘制一个绿色矩形
0.2 0.8 0.2 setrgbcolor
newrect fill

在上面的代码中,首先定义了一个矩形对象newrect,然后使用gsave命令开始一个分组,绘制了一个蓝色的矩形,然后使用grestore命令结束分组,恢复之前的图形状态。最后绘制了一个绿色的矩形。

这样,通过使用gsavegrestore命令,可以在PostScript中对对象进行分组,实现不同的绘制效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 何在 Tableau 进行高亮颜色操作?

    比如一个数据表可能会有十几到几十列之多,为了更好的看清某些重要的列,我们可以对表进行如下操作—— 进行高亮颜色操作 原始表包含多个列,如果我只想看一下利润这一列有什么规律,眼睛会在上下扫视的过程很快迷失...利润这一列进行颜色高亮 把一列修改成指定颜色这个操作在 Excel 只需要两步:①选择一列 ②修改字体颜色 ,仅 2秒钟就能完成。...第2次尝试:选中要高亮的列并点击右键,选择 Format 后尝试进行颜色填充,寄希望于使用类似 Excel 的方式完成。...不过这部分跟 Excel 的操作完全不一样,我尝试每一个能改颜色的地方都进行了操作,没有一个能实现目标。 ?...自问自答:因为交叉表是以行和列的形式展示的,其中SUM(利润)相当于基于客户名称(行的维度)其利润进行求和,故SUM(利润)加颜色相当于通过颜色显示不同行数字所在的区间。

    5.7K20

    何在 Core Data NSManagedObject 进行深拷贝

    何在 Core Data NSManagedObject 进行深拷贝 请访问我的博客 www.fatbobman.com[1] 以获得更好的阅读体验 。... NSMangedObject 进行深拷贝的含义是为一个 NSManagedObject(托管对象)创建一个可控的副本,副本包含该托管对象所有关系层级涉及的所有数据。...每当复制一个 Note 对象,同时会涉及关系链条数百上千个其它对象。实现所有数据的快速、准确地深拷贝具有相当挑战性。...例如: •上图中 Note 的 id 的类型为 UUID,在深拷贝时不应复制原来的内容而应该为新对象创建新的数据•Item 的 NoteID 应该对应的是 Note 的 id,如何在复制过程中保持一致...为了方便某些不适合在 userinfo 设置的情况(比如从关系链中间进行深拷贝),也可以将需要排除的关系名称添加到 excludedRelationshipNames 参数基础演示 2)。

    1.5K20

    何在Gitlab流水线部署进行控制?

    然后,可以在手动作业定义受保护的环境以进行部署,从而限制可以运行它的人员。...: false (将手动作业定义为阻断),这将导致Pipeline暂停,直到授权用户通过单击开始按钮以继续进行批准为止。...在这种情况下,以上示例CI配置管道的UI视图将如下所示: 如上面的YAML示例和上图所示,使用受保护的环境和阻止属性定义的手动作业是处理合规性需求以及确保对生产部署进行适当控制的有效工具。...这样,您可以将GitOps用作现代基础架构(Kubernetes,Serverless和其他云原生技术)的操作模型。 版本控制和持续集成是持续可靠地部署软件的基本工具。...使用GitOps,基础架构的任何更改都会与应用程序的更改一起提交到git存储库。 这使开发人员和运维人员可以使用熟悉的开发模式和分支策略。合并请求提供了协作和建议更改的场所。

    1.9K41

    何在 Kubernetes 无状态应用进行分批发布

    在 Kubernetes 针对各种工作负载,提供了多种控制器,其中 Deployment 为官方推荐,被用于管理无状态应用的 API 对象。...Deployment 提供了 RollingUpdate 滚动升级策略,升级过程根据 Pod 状态,采用自动状态机的方式,通过下面两个配置,新老 Pod 交替升级,控制升级速率。...那么客户发布过程,经常会遇到哪些情况,导致发布失败呢?...所以滚动升级的分批暂停功能,核心业务发布来说,是质量保障必不可少的一环。那有没有什么方法,即可使用 Deployment 的滚动升级机制,又可以在发布过程,结合金丝雀发布,分阶段暂停发布流程呢?...•\t灰度发布,结合流量控制规则,进行线上灰度验证。 •\t结合更多监控指标,与线上服务情况,确定指标基线,作为发布卡点,让分批发布更自动化。

    1.5K30

    何在单元测试写数据库进行测试?

    首先问一个问题,在接口测试,验证被测接口的返回值是否符合预期是不是就够了呢? 场景 转账是银行等金融系统中常见的一个场景。在在最近的一个针对转账服务的单元测试,笔者就遇到了上述问题。...从上述介绍,我们得以了解到,这里的转账服务接口只是完成了申请的接收工作。转账申请需要后续被人工审核后才能完成实际的转账。...assertThat(captured).isEqualToComparingOnlyGivenFields(expected,"flowNo","status"); } } 在之前的测试用例类,...如何两笔申请进行单元测试,Mock又如何写?这个就留给读者自行练习了。 如果不是写库,而是通过MQ对外发布?又如何进行测试呢?...小结 本案例演示了如何使用Mockito提供的Capture特性来验证方法的传参,同时也展示了如何使用AssertJ进行对象的多个属性的断言。

    3.7K10

    打印机安全研究(一):不容乐观的网络打印机安全状况

    这些协议都各有特点,打印作业队列管理或报告等。在测试分析过程,我们正是利用了这些打印支持协议,向打印机进行恶意文档传播的。...所以,我们的首要任务是,根据目前CVE漏洞库和安全博客公布的,有关打印机漏洞和安全技术进行综合分析,通过现存已知漏洞问题的归纳总结,构建新型或通用攻击模型,测试不同品牌型号打印机存在的漏洞和安全性。...其它此类攻击: 文件系统入侵:PostScript和PJL命令都具有对打印机文件系统的访问功能,然而某些品牌打印机却未一些特殊目录设置访问限制,可以导致密码等其它敏感信息泄露。...因此,当遇到一些UNIX打印系统命令时,PRET会把它转换成PostScript或PJL语言,发送给目标打印机,并反馈结果进行安全评估。...PRET使用以下命令对打印机文件系统进行攻击测试: ? 安全评估 我们想对打印机安全开展一个全面深入的安全评估,所以选择了大约20多种常用流行的品牌打印机作为测试对象

    2.7K50

    CVE-2015-2545 Word 利用样本分析

    进行迭代处理,且 pNext 指针指向下一待处理的 ‘key-value’。...接着我们来完整分析下此过程,这里给出 PostScript 对象和 dict 下 ‘key-value’ 对象的定义,它们在后面会涉及到: //PostScript对象的定义 struct PostScript_object...图18 获取 RW primitives 在 PostScript 中会为每个 string 对象分配专门的 buffer 用于存储实际的字符串内容,其基址及大小就保存在该 string 对象。...图21 ROP 链的操作指令 这里借助了一个小技巧来绕过保护程序 ZwProtectVirtualMemory 调用的检测,对于 ntdll 模块的 Nt/Zw 函数,除了赋给 eax 寄存器的...图23 shellcode 的数据进行解密 而后,代码通过查找 LDR 链的方式来获取 msvcrt 模块的基址: ?

    1.1K70

    「Adobe国际认证」Photoshop软件,关于绘图教程?

    了解形状和路径 Adobe Photoshop 的绘图包括创建矢量形状和路径。在 Photoshop ,可以使用任何形状工具、钢笔工具或自由钢笔工具进行绘制。...在选项栏可以使用每个工具的选项。 在 Photoshop 开始进行绘图之前,必须从选项栏中选取绘图模式。...绘图模式 使用形状或钢笔工具时,可以使用三种不同的模式进行绘制。在选定形状或钢笔工具时,可通过选择选项栏的图标来选取一种模式。 形状图层在单独的图层创建形状。...例如,您可能只想使用前景对象,而排除背景对象。图像剪贴路径使您可以分离前景对象,并在打印图像或将图像置入其它应用程序时使其它对象变为透明的。 注意:路径是基于矢量的,因此它们都具有硬边。...5.通过执行下列操作之一存储文件: 若要使用 PostScript 打印机打印文件,请以 Photoshop EPS、DCS 或 PDF 格式进行存储。

    1.4K20

    教程 | 如何优雅而高效地使用Matplotlib实现数据可视化

    因此本文旨在提供一种高效的 Matplotlib 使用方法,并希望该方法可以帮助大家理解如何更有效地进行日常数据分析工作。 简介 新手来说 Python 可视化实在有些令人挫败。...从我的个人经验来讲,我们从以前的代码可以看出有一些 Matplotlib 代码的混杂。 关键点 Matplotlib 新手应该学习和使用面向对象的接口。...一直使用面向对象的界面,养成习惯。 3. 用基础的 pandas 绘图开始可视化。 4. 使用 seaborn 进行稍微复杂的数据可视化。 5....开始 下面主要介绍如何在 pandas 创建基础的可视化以及使用 Matplotlib 定制最常用的项。了解基础流程有助于更直观地进行自定义。...自定义图表 如果你该图表的重要部分都很满意,那么下一步就是它执行自定义。一些自定义(添加标题和标签)可以使用 pandas plot 函数轻松搞定。但是,你可能会发现自己需要在某个时刻跳出来。

    2.6K50

    教程 | 如何优雅而高效地使用Matplotlib实现数据可视化

    因此本文旨在提供一种高效的 Matplotlib 使用方法,并希望该方法可以帮助大家理解如何更有效地进行日常数据分析工作。 简介 新手来说 Python 可视化实在有些令人挫败。...从我的个人经验来讲,我们从以前的代码可以看出有一些 Matplotlib 代码的混杂。 关键点 Matplotlib 新手应该学习和使用面向对象的接口。...一直使用面向对象的界面,养成习惯。 3. 用基础的 pandas 绘图开始可视化。 4. 使用 seaborn 进行稍微复杂的数据可视化。 5....开始 下面主要介绍如何在 pandas 创建基础的可视化以及使用 Matplotlib 定制最常用的项。了解基础流程有助于更直观地进行自定义。...自定义图表 如果你该图表的重要部分都很满意,那么下一步就是它执行自定义。一些自定义(添加标题和标签)可以使用 pandas plot 函数轻松搞定。但是,你可能会发现自己需要在某个时刻跳出来。

    2.5K20
    领券