基于模板图像和任意文本的动态地图标记生成

django-markers的Python项目详细描述


使用模板图像和任意文本的动态地图标记生成器。

为什么

有时你需要在地图上使用很多标记,其中很多是相似的, 但有点不同,使用文本标签,甚至不同的颜色或 不透明。这会帮你的。

理论上,你也可以用它来描述模因,但我认为 还有其他的东西。

如何

可以通过三种方式引用标记:使用django模板标记,通过 url参数,或者在python中,使用Marker类。首选 方法是模板标记,我不建议使用直接url请求, 因为它每次都需要对应用程序服务器进行命中。

使用模板标记:

这将生成一个指向新创建的标记的媒体url,该标记基于 template.png,文本42,位于3像素右侧,以及3像素 从模板的左上角向下,不透明度为50%,a 色调偏移105,并对文本使用十六进制颜色#333333。所有的 参数(第一个除外)是可选的:

{%loadmarkers%}{%marker'path/to/template.png'text='42'text_x=3text_y=3opacity=0.5hue=105text_colour='333333'%}

通常,您将在模板中使用此选项将标记路径分配给 javascript变量:

<script>
  var marker1 = "{%marker'path/to/template.png'text='1'%}";
  var marker2 = "{%marker'path/to/template.png'text='3'hue=105%}";
</script>

在javascript中包含url之后,您可以使用 它们只是现有静态文件的URL。

使用python模型

标记生成与实例化模型一样简单:

frommarkers.modelsimportMarkermymarker=Marker("path/to/template.png",text="42",opacity=0.5,text_x=3,text_y=3,text_colour="333333",hue=105)

模板

传递到django-markers的模板路径必须是 应用程序,并以此引用。例如,如果你有一个模板 mapping/static/mapping/img/markers/mytemplate.png,您的参数 正在查找的是:mapping/img/markers/mytemplate.png

如果直接调用url,则将此路径附加到url 喜欢这样:

https://localhost:8000/markers/mapping/img/markers/mytemplate.png?hue=105&opacity=0.8

关于文本定位

默认情况下,我们试图沿着x/y轴中心的文本,如果这是你的 意图,也不要具体说明。指定不带y值的x值 假设y居中,反之亦然。

关于模板图像的注释

你可以在模板中使用任何你喜欢的图像,但是 色调偏移从红色(0)开始,并通过光谱前进到红色 同样在360,你最好使用redish图像作为模板。 否则,不指定hue的请求将与那些请求不同步 将hue设置为1的。

安装

您可以使用pip

$ pip install django-markers

或者您可以从github安装它:

$ pip install git+https://github.com/danielquinn/django-markers.git#egg=django-markers

然后在您的settings.py

INSTALLED_APPS=(..."markers",)

如果你想使用直接的url请求,你需要添加这个 给你的urls.py

url(r"^some/arbitrary/path/",include("markers.urls")),

例如,在您的urls.py

url(r"^mapping/markers/",include("markers.urls")),

要求

我们在这里做图像处理,所以需要PIL。你应该 不过,使用Pillow,因为这是针对它开发的。 此外,需要numpy来处理色调偏移。双方都愿意 如果按照上面的安装说明进行操作,请自动安装。

除了这些python依赖项之外,如果您 打算通过调用指定的url来使用动态生成。

许可

整个项目是在gpl-3下授权的,但是使用的默认字体是 根据Apache2.0授权。这两个许可证都在COPYING/下可用。

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

推荐PyPI第三方库


热门话题
使用节点的基于Java的web应用程序。js?   如何使用java在正则表达式中转义星号   java 404未找到:访问部署在Tomcat上的servlet时出错   java如何获取库的所有依赖项?   java如何从其他类控制器使用FXML类的节点?   java如何修复Grails2.3.8中编写的应用程序中的表达式注入?   java如何在对象中创建toString方法?   泛型Java如何将类型类<A<B>>传递给方法   postgresql在pgadmin中运行良好,但在java代码中不起作用   java将字符串更改为Int以便更好地排序合法吗?   关于可见性的多线程Java并发问题   java JHipster错误:无法找到或加载主类org。阿帕奇。专家包装纸。MavenWrapperMain   java Kafka配置最大字节数仍受500条消息的限制   void方法之后的Java变量更新   java Spring引导Jpa映射   java如何优化DynamoDb的索引   JAVA伊奥。使用Jsoup时FileNotFoundException