adobe样本交换文件的解析器

swatch的Python项目详细描述


swatch是Adobe Swatch交换文件的解析器

版权所有(c)2014 Marcos A Ojeda http://generic.cx/

在ASE文档的帮助下 Carl Camera和 ASE生成器由 Chris Williams

swatch.write(lst, filename)读取列表,如下所述 并输出一个.ase文件。(v0.4.0中的新功能)

swatch.parse(filename)读取ASE文件并将其转换为 颜色和调色板列表。颜色是形式的简单指令:

{
    'name': u'color name',
    'type': u'Process',
    'data': {
        'mode': u'RGB',
        'values': [1.0, 1.0, 1.0]
    }
}

提供的值因颜色模式而异。对于所有颜色模式, 值始终是浮动列表。

rgb:rgb对应的[0,1]之间的三个浮点数。 cmyk:包含[0,1]的四个浮点数,对应于cmyk。 灰色:一个浮点数在[0,1]之间,1为白色,0为黑色。 实验室:三个漂浮物。第一个L的范围是0,1。A和B都是 浮动范围为[-128.0127.0]。我相信插画家只是庄稼 不过,这些都是整体价值观。

调色板(adobe术语中的颜色组)也是dict,但是它们有一个 名为swatches的属性,其中包含 调色板。:

{
    'name': u'accent colors',
    'type': u'Color Group',
    'swatches': [
        {color}, {color}, ..., {color}
    ]
}

因为Adobe Idultor让样本既存在于内部,也存在于外部 对于调色板,swatch.parse的输出是一个列表,其中可能包含 样本和调色板,即[样本*调色板*]

下面是一个浅灰色样本的示例,后面是一个包含 三个样本:

>>> import swatch
>>> swatch.parse("example.ase")
[{'data': {'mode': u'Gray', 'values': [0.75]},
  'name': u'Light Grey',
  'type': u'Process'},
 {'name': u'Accent Colors',
  'swatches': [{'data': {'mode': u'CMYK',
     'values': [0.5279774069786072,
      0.24386966228485107,
      1.0,
      0.04303044080734253]},
    'name': u'Green',
    'type': u'Process'},
   {'data': {'mode': u'CMYK',
     'values': [0.6261844635009766,
      0.5890134572982788,
      3.051804378628731e-05,
      3.051804378628731e-05]},
    'name': u'Violet Process Global',
    'type': u'Global'},
   {'data': {'mode': u'LAB', 'values': [0.6000000238418579, -35.0, -5.0]},
    'name': u'Cyan Spot (global)',
    'type': u'Spot'}],
  'type': u'Color Group'}]

现场、全局和过程

卡尔·卡莫和克里斯·威廉的密码里都没有提到的东西 是指专色、全局色和过程色。

ASE文件中有三种类型的样本:进程, 全球和现货。进程颜色是标准颜色,如果 在Illustrator中定义新颜色。顾名思义,它们混合了 RGB或CMYK取决于文档颜色模式。

全局颜色与过程颜色是相同的,但它们有一个整洁的属性 也就是说,当你更新它们时,它们会在你的作品中全部更新。 这使得它们像“颜色参考”一样,如果你正在做 像是重新整理一些现存的文件。

专色是隐式全局颜色,但具有可以创建的nifty属性 基于“色调”的新样本,或者实际上是一些筛选值 颜色。唯一的问题是颜色,即使它们可能是你文件的一部分, 不能作为样本存储/交换。我怀疑这件事有多麻烦 是的,但事情就是这样。即使是插画也救不了他们,只是 应用程序不支持(几乎可以肯定是由于文件格式的性质)

注意事项

最后,考虑到你的样本可能是一个混合的祝福。 如果您需要为 打印工作,将对准确转换回RGB/实验室带来挑战 除非你手边有一本插画。

如果没有,您可以在 命名)little cms并免费提供 可用的SWOP ICC颜色配置文件,并使用SRGB的默认输出来获取 你的颜色在某种程度上对网络有用。

如果你最终得到了实验室的专色,你总是可以支付 Bruce Lindbloom甲 访问以获得相对简单(如果有点耗时)的实验室->;xyz->;rgb 公式。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java制作Minecraft Mod。编译错误   java如何将系统属性文件传递给GWT?   java如何使用Android Studio 0.8.9配置Andengine、Andengine平铺地图、Physics2DBox?   java无法从Ubuntu14安装带有dockerfile的openjdk7jdk。04   java是捕获大多数try-catch语句的一种方法   java在Tomcat上启动Jenkins时出现一个问题(http://localhost:8080/jenkins/)   cmd如何在不单独启动的情况下作为java程序的一部分使用?   如何使Java在同一命令提示符窗口中打开批处理文件   Java:有没有一种方法可以将ArrayList<Boolean>转换为Boolean[](基本数组)?   java如何使用SpringWebClient进行同步调用?   java将上下文传递给多个线程是否安全?   在java中,为什么静态字段(不是final)被限制在内部类中   java关于Play2和Hibernate的几个问题   java如何使用JSch连接在单个会话中运行多个命令并读取其输出?   在Java中通过socket连接发送2D字符串数组   尽管服务已经启动,但不允许java远程访问namenode。