开发一个简单的Web设计器(拖放文本/文字和图像)

时间:2011-02-13 18:21:06

标签: javascript jquery html css

我有一位客户要求我开发一个简单的网页设计师(ala CustomInk.com的T恤设计师),它允许用户拖动和放大。将文本和上传的图像拖放到画布上。

我有一些关于javascript / jQuery入门的想法,但我想问:开发像这样的编辑器,最普遍可访问的方式(在浏览器支持方面等)是什么?

在我开始盲目愚弄之前,有没有人对此事有任何建议/经验?

3 个答案:

答案 0 :(得分:3)

对于跨浏览器支持,如果您决定使用Javascript库(例如jQuery),您的工作会更容易。这样做的主要原因是因为jQuery将封装浏览器之间Javascript实现之间的所有差异。从头开始写这一切并不可行。

所以在你的情况下,听起来你希望用户选择图片和文字,将它们拖放到各种画布上。然后,你想要的格式是什么,以保存他们创建的东西?您是否正在尝试从他们创建的图像中生成结果图像?

要开始使用,我会查看jQuery UI。您可以使用draggabledroppable功能作为前端,当用户完成后,您需要发布其元素,文本的坐标以及他们正在使用的图片,等

看起来你面临的最大挑战并不是要为此做出漂亮的界面,而是坚持他们创造的东西。

答案 1 :(得分:2)

我最近一直在做类似的事情 - 你可以查看开发网站here,并且js没有缩小,所以随意拿你想要的东西。

最初,我试图在SVG中'渲染'草稿 - 结果很糟糕,因为即使使用svg-web和类似的库,浏览器支持仍然不是很好。我需要做一些像圆形文本这样的东西,这些功能真的可以让你感到高兴。

最后,我写了一个小的python服务器(使用CherryPy),它使用python-cairo基于一组查询字符串参数生成一个png。它需要序列化的'文本行'和图像的json对象。 png实际上是资源,函数本身返回一个'render.png'文件缓冲区,所以你在前端所要做的就是改变src标签的<img>属性,它会刷新。我也将上传功能添加到“图像处理”服务器中。

由于我已经在序列化了包含设计所有信息的json,因此将其保存在数据库中并将其加载到编辑设计中是微不足道的。

我肯定会推荐像jQuery这样的库(这是我用的),以便于开发。我没有设法在拖放方面做太多事情,如果我重新开始的话,我可能会从一开始就尝试这样做。如果您想查看一些后端代码或者您有任何问题(我的电子邮件在我的SO个人资料中),请随时给我发电子邮件。

答案 2 :(得分:0)

Jquery UI是要走的路,它提供拖放功能,它是跨浏览器。在http://jqueryui.com/demos/draggable/

上查看示例和文档