javascript - 实现客户端图像编辑器 - 最好的方法是什么?

标签 javascript flash gwt image-processing client-side

我们想要一个允许用户在浏览器上编辑图像的网络应用程序,我们正在尝试决定使用哪种技术。我们希望支持简单的图像自定义,例如高质量的调整大小、裁剪、图像合并和颜色转换,以及添加具有不同字体和颜色的文本元素。

当前的选项是:

  1. Flash:不用担心跨浏览器的兼容性;可以在客户端和服务器上使用相同的图像库;不支持 iPhone/iPad。
  2. Java(使用 GWT 编译为 javascript):需要找到一个良好的纯 Java 图像库,以便将其编译为 JS。
  3. 普通的旧 javascript + HTML5:由于多个浏览器,可能会一团糟;可能需要从头开始编写图像编辑代码。

以下是对我们来说最重要的/选择标准:

  • 图像一致性:客户端在浏览器上编辑的图像必须与我们最终在后端使用的图像完全相同。我们可以通过(a)在客户端和服务器上使用相同的库来处理图像,(b)让客户端生成图像并将其上传到服务器,或(c)在客户端上使用两个不同的图像处理库来实现这一点客户端/服务器并希望在一致性方面达到最佳。选项 (a) 似乎是最好的,但只有在我们使用 Flash 或 Java/GWT 时才有可能。我们不喜欢选项 (b),因为图像很大;我们宁愿保存对原始图像执行的一系列操作,也不愿保存多个转换后的图像。我们真的不知道选项 (c) 是否安全。
  • 可扩展性:我们希望客户端做尽可能多的工作以减少服务器负载。
  • 必须保持较高的图像质量
  • 跨平台:我们希望在不重写所有内容的情况下支持尽可能多的平台(由于 iPhone/iPad,这对 Flash 有很大的负面影响)。

您推荐什么路径?我们还缺少其他选择吗?

感谢您的帮助!

最佳答案

绝对是 Flash。如果你使用 JavaScript 和 HTML5,你基本上是在对所有 IE 用户说“去你的”。 Flash 的渲染引擎比浏览器更快地处理这些事情,而且速度在所有浏览器中都是一致的。此外,Flash 具有非常强大的内置图像处理库,而在 JavaScript 中,您必须自己编写它们。

编辑:因为我刚刚收到了对一个 3 年前的答案的反对票,我不得不说这不再是真的,你应该使用像 <canvas> 这样的网络标准。因为现在它们几乎无处不在。不要使用 Flash。

关于javascript - 实现客户端图像编辑器 - 最好的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3473715/

相关文章:

GWT Super Devmode RPC 失败,正常开发模式正常

tomcat - 在带有 GWT Tomcat 服务器端和 Jetty 的 IDEA 14 intelijj 中无法使用调试器 - SuperDevMode

Javax 验证约束 - 比较两个日期

javascript - 在 Mouseenter/Mouseleave 上使用 jQuery 显示/隐藏链接的 CSS3 动画

javascript - 通过查询字符串传递变量 chop 加号

PHP <---> FLASH长连接(数据流)

flash - 我可以根据计时器控制补间动画速度吗?

javascript - 在一个div中触发div

javascript - MomentJS .format() 在我的时区产生正确的日期 -1 天

javascript - SIFR 是否适用于跨浏览器?