一个mappyfile插件,用于在rgb和hex颜色之间转换,并添加人类可读的名称

mappyfile-colors的Python项目详细描述


VersionBuild Status

一个mappyfile插件,用于标准化和转换映射文件中使用的颜色。 功能包括:

  • RGB和十六进制颜色之间的转换
  • 将映射文件中的所有颜色与rgb或hex值协调
  • 添加human readable color名称作为注释
  • 将颜色名称作为注释添加到rgb颜色范围(当前无法用于十六进制颜色范围
  • python2和3兼容
https://raw.githubusercontent.com/geographika/mappyfile-colors/master/rainbow.png

请参见example.maprainbow_classes.txt,以获取生成上述图像的映射文件。

安装

pip install mappyfile-colors

注意:安装mappyfile-colors插件将自动安装以下内容 依赖关系:

  • 映射文件
  • 网络颜色

在线演示

  • 转到http://mappyfile.geographika.net/
  • 选择“彩虹颜色”地图
  • 打开“设置”,允许将mappyfile colors plugin settings部分转换为rgb和hex,并包括 将颜色名称作为映射文件输出中的注释
  • 单击“格式”按钮

用法

要使用颜色插件,请导入,然后传入自定义的ColorsTransformer。 还可以将两个附加参数传递给mappyfile.loads函数:

  • include_color_names-设置为true可将颜色名称添加为注释(默认为false)

  • conversion_type-在映射文件中转换颜色的参数,可以导入ConversionType或使用整数值 设置转换:

    NO_CONVERSION=0TO_RGB=1TO_HEX=2

将rgb转换为十六进制颜色并包含颜色名称的示例脚本如下所示。

importmappyfilefrommappyfile.pluginsimportmappyfile_colorsfrommappyfile_colorsimportColorsTransformer,ConversionTypes="""
CLASS
    STYLE
        COLOR 184 134 11
        OUTLINECOLOR 0 0 255
        WIDTH 3
    END
END
"""d=mappyfile.loads(s,include_color_names=True,transformerClass=ColorsTransformer,conversion_type=ConversionType.TO_HEX)print(mappyfile.dumps(d))

这将输出以下内容:

CLASS
    STYLE
        COLOR"#b8860b" # darkgoldenrod
        OUTLINECOLOR "#0000ff" # blue
        WIDTH 3
    END
END

有关更多示例,请参见test_plugin.py

彩色工厂

该插件还包含一个ColorFactory类,用于从调色板返回唯一颜色这对你有用。 基于唯一值生成MapServer类。基本用法如下所示:

color_factory=mappyfile_colors.ColorFactory()print(color_factory.palette_names)clrs=color_factory.get_colors(palette_name="maximum_contrast")# returns an iteratorprint(next(clrs))

作者

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

推荐PyPI第三方库


热门话题
Java:字符串。RTL设备语言用标志“+”格式化,数字后加符号   java GAE作为桌面应用程序(Swing)的服务提供商   java将InputStream转换为FileInputStream不适用于Apache POI   java外部Voronoi库“网格”:什么是草图和处理?   重载重写的泛型方法java   java显示组织上设置的错误。springframework。验证。jsp中的错误对象   java一些Spring模型属性没有显示在我的JSP中   java无法编译Guava 23的SimpleTimeLimiter示例   java如何更改JTree中的“根”目录名?   java如何在安卓中对相对布局产生连锁反应?   java错误:org。冬眠例外SQLGrammarException:无法提取结果集,dateAccessed是未知列   如何使用java监听JSON文件更新   由抽象封闭类创建的匿名内部类能否通过反射确定实现类?