Web应用程序的图像处理:在服务器上还是在浏览器中?

时间:2010-12-29 02:25:38

标签: web-applications image-processing

我正在研究用我编写的程序制作一个Web应用程序,该程序可以演变图像并使用PIL(Python Imaging Library)进行图像处理。我不熟悉Web开发,但是我不确定是否应该使用Java Servlets或(对于python)WSGI,或者在使用Javascript的浏览器中,将我的应用程序中计算成本相当高的图像处理组件放在Web服务器上HTML5画布。我制作了一个用于在服务器上进行图像处理的裸骨web.py应用程序,但我的初始测试显示通过HTTP将合成图像发送到客户端的显着延迟(它们很小,200x200像素图像)。你有什么建议?你会如何处理这个问题?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以在服务器端和浏览器端处理图像。使用java.awt.Image使用Java Servlet在服务器上生成图像,并使用HTML5 Canvas在浏览器中操作/注释图像的显示。延迟很可能是由处理服务器上的图像而不是传输到浏览器引起的。由于在服务器上处理映像所花费的时间,您可能需要异步处理映像并以ajax样式提供它以避免锁定用户的浏览器。您可以使用JavaScript中的Modernizr检测用户浏览器是否支持HTML5。

答案 1 :(得分:0)

如果您打算拥有一个高可用性站点,使用客户端处理和内存功能是有意义的,但是目前使用的大多数浏览器并不完全支持HTML5。你现在可能最好使用服务器端编辑。如果可能,您将希望在上传时处理图像并存储编辑后的图像,这样您每次只需处理它们。不确定是否可以在您的应用中使用。

答案 2 :(得分:0)

您可以考虑实施一些云处理解决方案服务器端。通过这种方式,它可以根据用户数量进行扩展。您没有提到已完成的图像处理类型,但对于某些复杂的算法,这可能变得非常密集。