一个用于在RGB和十六进制颜色之间转换的mappyfile插件,并添加人类可读的名称
项目描述
A mappyfile 插件,用于标准化和转换Mapfile中使用的颜色。功能包括
在RGB和十六进制颜色之间转换
将Mapfile中的所有颜色标准化为RGB或十六进制值
添加人类可读的颜色名称作为注释
将颜色名称添加到RGB颜色范围作为注释(目前无法对十六进制颜色范围进行操作)
Python2和3兼容
请参阅example.map和rainbow_classes.txt以生成上述图像的Mapfile。
安装
pip install mappyfile-colors
注意安装mappyfile-colors插件将自动安装以下依赖项
mappyfile
webcolors
在线演示
访问http://mappyfile.geographika.net/上的在线mappyfile演示
选择“彩虹颜色”地图
打开“设置”,mappyfile-colors 插件设置部分允许将颜色转换为RGB和十六进制,并将颜色名称作为注释包含在Mapfile输出中
点击格式按钮
用法
要使用颜色插件,导入,然后传递自定义ColorsTransformer。还可以将两个附加参数传递给mappyfile.loads函数
include_color_names - 设置为True以添加颜色名称作为注释(默认为False)
转换类型 - 一个参数,用于在Mapfile中转换颜色,可以是导入 ConversionType 或使用整数值来设置转换
NO_CONVERSION = 0 TO_RGB = 1 TO_HEX = 2
以下是一个将RGB颜色转换为HEX颜色的示例脚本,并包含颜色名称。
import mappyfile
from mappyfile.plugins import mappyfile_colors
from mappyfile_colors import ColorsTransformer, ConversionType
s = """
CLASS
STYLE
COLOR 184 134 11
OUTLINECOLOR 0 0 255
WIDTH 3
END
END
"""
d = mappyfile.loads(s, include_color_names=True, transformer_class=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 iterator
print(next(clrs))
项目详情
关闭
mappyfile_colors-1.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 47edf0d4e646bd0c1a24f38032b00c3ff97606690a501f95a43adfb437c505c6 |
|
MD5 | 12b8fa25220aee3283608db59374935b |
|
BLAKE2b-256 | fb9e8112dc52845fc3f72916d64818f33aca4a462636a68fe4b02f140b000f4c |
关闭
mappyfile_colors-1.0.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e77488df75da9125f4672bed05e6e3dd44a072df73e2afe5e4c3996b3c1271b7 |
|
MD5 | 40387a41c831365199ad19c0d8c042c4 |
|
BLAKE2b-256 | d5b6f20ba06d4d4982b93519e888685887fe98f404f0f5a97445efb512914988 |