Javascript Web应用中的图像编辑
在我的网站上,用户存储了一些图像。我想建立一个系统,他们可以编辑网站上的图片,并保存它们。编辑是非常基本的,如旋转、裁剪、增强亮度、添加过滤器等。我正在试图找出如何实现这一点 到目前为止,我的理解是,我可以通过多种方式做到这一点。我可以在服务器端编写所有图像编辑代码(使用库),然后从我的网站调用此服务API 我还可以在客户端进行所有更改。我找到了PicMonkey库,它可以让我这么做(不过它是基于flash的,所以我真的不想使用它。) 我还检查了flickr是如何做到这一点的,他们使用这个库可以完成所有客户端编辑Javascript Web应用中的图像编辑,javascript,html,api,image-processing,canvas,Javascript,Html,Api,Image Processing,Canvas,在我的网站上,用户存储了一些图像。我想建立一个系统,他们可以编辑网站上的图片,并保存它们。编辑是非常基本的,如旋转、裁剪、增强亮度、添加过滤器等。我正在试图找出如何实现这一点 到目前为止,我的理解是,我可以通过多种方式做到这一点。我可以在服务器端编写所有图像编辑代码(使用库),然后从我的网站调用此服务API 我还可以在客户端进行所有更改。我找到了PicMonkey库,它可以让我这么做(不过它是基于flash的,所以我真的不想使用它。) 我还检查了flickr是如何做到这一点的,他们使用这个库可以
我想了解更多关于使用这些客户端javascript库(如aviary)的信息,使用它们与服务器端编辑相比有哪些优点和缺点。如果我使用的是Availy之类的东西,那么我需要编写什么服务组件。更具体地说,是将图像发送到服务器进行修改,还是先在HTML画布上对其进行修改,然后将修改后的图像发送到服务器进行保存。如今浏览器已经非常强大,因此您可能应该在客户端本身进行基本编辑,因此,您的服务器不会有太多负担,而且还可以利用客户端的处理能力 您几乎没有在客户端执行此操作的库 (一) (二) (三) 但正如你所说 编辑非常基本,如旋转、裁剪、增强亮度和添加 过滤器等 您可以为这些编辑创建自己的代码,这里有很多教程,我发现有用的很少 如果你尝试在客户端做一些事情,它们会完全破坏你的应用程序,比如照片桶工具。 这里还有一个教程,用于创建使用洪水填充算法的照片桶工具
但是你应该在你的服务器上保留这些繁重的算法,这样你的应用程序就不会崩溃。现在浏览器已经变得非常强大,所以你可能应该在客户端本身进行基本的编辑,这样你的服务器就不会有太多负担,也可以利用客户端的处理能力 您几乎没有在客户端执行此操作的库 (一) (二) (三) 但正如你所说 编辑非常基本,如旋转、裁剪、增强亮度和添加 过滤器等 您可以为这些编辑创建自己的代码,这里有很多教程,我发现有用的很少 如果你尝试在客户端做一些事情,它们会完全破坏你的应用程序,比如照片桶工具。 这里还有一个教程,用于创建使用洪水填充算法的照片桶工具
但是你应该在你的服务器上保留这些繁重的算法,这样你的应用程序就不会崩溃。如果你擅长服务器端编程,我的想法是“为什么不使用原始的PHP GD库或PHP插件imagemagick?”
这取决于您期望的服务器负载-最多10人同时处理它就可以了,但一次100到1000人?对于第二种情况,客户端编辑确实是更好的选择,否则服务器将过载。Naeem Shaikh为此给了你一些链接。如果你擅长服务器端编程,我的想法是“为什么不使用原始PHP GD库或PHP附加组件imagemagick?”
这取决于您期望的服务器负载-最多10人同时处理它就可以了,但一次100到1000人?对于第二种情况,客户端编辑确实是更好的选择,否则服务器将过载。Naeem Shaikh为您提供了一些链接。我建议将其设置为客户端 JavaScript将为您提供基本编辑所需的一切,您将能够以干净的方式组织代码。 客户端应用程序不会强迫您处理XHR、wait、send、http等所有您必须掌握的内容,以便同一服务器端应用程序始终显示当前草稿。服务器端您将需要具有可用资源的服务器来完成此工作 用户将能够继续编辑,即使他们失去了连接,相信我,这一点就足以让专业人士在客户端进行编辑。此外,编辑将感觉更流畅 那为什么还要犹豫呢?那么服务器端也有优势。
有许多(10+)库经过测试、记录、增强,随时可用。也许您没有时间或精力学习JavaScript。也许在将来,你会想用新的、繁重的、需要比客户端更多CPU的编辑功能来扩展你的应用程序 我建议将其设置为客户端 JavaScript将为您提供基本编辑所需的一切,您将能够以干净的方式组织代码。 客户端应用程序不会强迫您处理XHR、wait、send、http等所有您必须掌握的内容,以便同一服务器端应用程序始终显示当前草稿。服务器端您将需要具有可用资源的服务器来完成此工作 用户将能够继续编辑,即使他们失去了连接,相信我,这一点就足以让专业人士在客户端进行编辑。此外,编辑将感觉更流畅 那为什么还要犹豫呢?那么服务器端也有优势。
有许多(10+)库经过测试、记录、增强,随时可用。也许您没有时间或精力学习JavaScript。也许在将来,你会想用新的、繁重的、需要比客户端更多CPU的编辑功能来扩展你的应用程序 好吧,但你不说客户端如何?做一些研究,或者问一个更具体的问题,让css提供精确的像素访问?我找到了一种大致打开/创建.bmp的方法,但它需要了解。