【问题标题】:User draw shapes on top of an image用户在图像上绘制形状
【发布时间】:2012-02-25 14:38:39
【问题描述】:

我希望允许用户在图像上使用用户定义的文本绘制半透明的基本形状(矩形、圆形)。基本思想是在下面有一张地图,用户可以从中标记某些区域。自从进行 Web 开发以来已经有一段时间了,我很不确定哪种方法是最好的。它甚至可以在较旧的浏览器上运行。

任何帮助将不胜感激!

【问题讨论】:

  • 要让它与非 html5 浏览器一起工作,你肯定需要一些脚本语言(javascript、flash 等)。
  • Flash 也是我想远离的东西。有什么好的 javascript 库可以使用吗?我尝试为 jquery 搜索一些东西,但并没有真正找到任何有用的东西。
  • 如果您能描述一下您所拥有的、您需要的以及到目前为止您尝试过的,那就太好了(有机会为您的想法拍一张照片吗?)。

标签: javascript jquery html css image


【解决方案1】:

首先,忘记旧浏览器吧,毕竟是 2012 年。如果没有诸如“border-radius”之类的css属性,您将无法绘制圆。

其次,无论如何,您都必须使用 javascript 才能进行“绘图”。 jQuery + jQuery UI 非常适合。看来您至少需要以下插件:

  • Draggable - 拖动你的形状
  • Resizable - 调整形状大小
  • Dialog - 将文本放入形状中(对话框内必须有一个 textarea。填充 textarea 并单击 Ok 后,文本将放入形状中)。

还有另一种将文本放入形状的方法,但这需要一些认真的开发工作。

现在,如何创建形状。有两种方法:

  1. 您必须单击该按钮,该按钮将创建一个带有设置参数的框
  2. 使用boxer插件

这就是它的要点。

渲染保存的形状是完全不同的事情,我相信它不应该有问题。只需从数据库中获取数据并根据其属性呈现形状。

【讨论】:

  • “忘记旧浏览器”如果您在家庭办公室编写个人项目可能会很好,但通常不会为支付您费用的客户所接受。
  • 使用 javascript 很好,我只是不确定是否还有其他选择。现在为 javascript 和 jquery 添加了标签。绘制圆圈有点可选,但我明白你对旧浏览器的看法。即使在较旧的浏览器上至少显示它们也是非常重要的,即使实际绘图不起作用。感谢您提供所有信息!
  • @Grim...,在这种情况下,您必须向客户解释在旧浏览器上什么是可能的,什么是不可能的。 ----- Kemu79,显示应该不是问题。完成形状后,它的属性必须保存在数据库中,然后您将使用 PHP 或任何其他语言绘制漂亮的形状。绘图过程本身依赖于新的浏览器。
猜你喜欢
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
  • 2020-10-24
  • 1970-01-01
相关资源
最近更新 更多