Javascript,在<img>上绘制文本窗口
Javascript, draw window with text over <img>
我更喜欢更简单的桌面编程场景(当涉及到这类东西时,处理起来要简单得多)。
我有一个大的。png文件,我希望在浏览器中显示,这实际上是一个带有图标的地图,当用户悬停在图标上时,我想绘制(最好)各种图形窗口(可以是另一个预先设计的图像),并将样式文本放在这个窗口(基本显示)。
.png是在<img>
标签使用<map>
和<area>
,所以<canvas>
和适用的javascript函数是不可能的,它不工作,从来没有透明的双重欺骗(已经尝试过了)。
顺便说一句,为什么我8岁的妹妹可以在Windows上用旧的IDE和语言完成这么简单的任务,而我却不能在浏览器上接近LOL!
有很好的方法可以做到这一点,使用画布甚至作为Google地图的自定义图层,但如果你不需要高级的平移和缩放,基本的HTML应该可以做到。
我会怎么做:
-
显示
img
标签中的大图 -
放入
div
容器,position: relative
-
将每个图标以绝对位置放在地图上,例如
position: absolute; left: 100px; top: 100px
-
链接每个图标的
onclick
事件到jQuery UI对话框
CSS的粗略示例:
div.map { position: relative; width: 400px; height: 400px }
div.map .marker1 { position: absolute; left: 100px; top: 120px }
HTML: <div class="map">
<img src="image.png">
<img class="marker1" onclick="$( '#dialog' ).dialog();" src="marker.png">
</div>
<!-- jQuery UI dialog -->
<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information.
The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
查看这个关于canvas等效图像映射的问题。从答案,特别是这个链接似乎持有的答案,尽管与画布和javascript(你不能得到的工作)。
你可能也会发现Mark Pilgrim的介绍HTML5画布很有用,特别是他的实例,因为它在画布上绘制图像和文本,并处理非常精确的点击。
相关文章:
- 将文本工具添加到绘制应用程序HTML5画布
- 在html5画布中将文本绘制为图像
- 画布文本不是在图像上绘制的
- 如何在D3 SVG上绘制文本,如果它's的边界框符合某些标准
- 使用javascript绘制多个以数组元素为文本中心的圆
- 如何在拉斐尔.js中绘制文本框
- HTML5 绘制位于顶部的文本
- 在 HTML5 中使用 Canvas Kinetic 绘制许多文本并进行编辑
- 动态读取属性文件并在 javascript 中绘制文本框
- 如何在 D3 中的矩形中绘制文本
- 使用Raphael.js高效绘制文本
- 如何在画布上绘制文本,该文本遵循使用二次曲线方法绘制的二次曲线
- 使用d3.js在svg路径元素上绘制文本
- 在谷歌地图上绘制文本
- 如何在饼状图上正确地绘制文本
- 如何在画布内绘制文本框
- 在画布上绘制文本
- 在Chrome中绘制文本gotchas
- 通过onload在画布上绘制文本时,文本有颗粒状/模糊
- Javascript,在
上绘制文本窗口