【发布时间】:2012-01-10 14:51:18
【问题描述】:
在下面的代码中,我有两个 Canvas 图层,一个文本和一个图像,我遇到的问题是控制哪个图层首先绘制。加载页面时,文本可能会在图像上方绘制或吹出,看起来很随机。有没有办法控制这种行为?
我的尝试:
{% extends "layout.html" %}
{% block body %}
<script>
window.onload = function(){
$("canvas").addLayer({
method: "drawImage",
source: '{{ url_for('static', filename='100MV-Floor-Plan.png') }}',
x: 700, y: 300,
})
$("canvas").addLayer({
method: "drawText",
strokeStyle: "C35817",
x:{{ room.xPos }}, y: {{ room.yPos }},
text: '{{ room.room_id }}',
align: "center",
baseline: "middle"
})
$("canvas").getLayer(0);
$("canvas").getLayer(1);
$("canvas").drawLayers();
};
</script>
<canvas width="1397" height="711"></canvas>
<h1>{{ room.current_user }}</h1>
<form method=POST>
Room ID: <input type="text" name="room_id"/><br />
<input type="submit" value="Click" class="button">
</form>
{% endblock %}
【问题讨论】:
-
这不是烧瓶或 jinja2 问题,它是 javascript。
-
@FMR 只是想人们可能想知道为什么我在我的代码中引用了像 '{{ url_for('static', filename='100MV-Floor-Plan.png') }}' 这样的字符串。但我猜你是对的,标签已更新。
-
更新代码以解决与烧瓶无关的问题,这表示某些问题可以通过服务器端处理动态解决,但最好先提出完整的 javascript 解决方案。如果你没有找到一个纯 javascript,你可能会回到服务器端解决方案。
标签: jquery-plugins canvas html5-canvas jcanvas