是否可以在 JavaScript(在客户端)中按像素级别动态创建和修改图像?还是必须使用基于服务器的语言(例如 PHP)来完成?
我的用例如下:
- 用户打开网页并加载本地存储的图像
- 显示图像的预览
- 用户可以使用一组滑块修改图像(像素级操作)
- 最后,他可以将图像下载到本地硬盘
在网上搜索时,我只找到了有关使用 IE 过滤方法的帖子,但没有找到有关 JavaScript 中的图像编辑功能的任何内容。
是否可以在 JavaScript(在客户端)中按像素级别动态创建和修改图像?还是必须使用基于服务器的语言(例如 PHP)来完成?
我的用例如下:
在网上搜索时,我只找到了有关使用 IE 过滤方法的帖子,但没有找到有关 JavaScript 中的图像编辑功能的任何内容。
一些浏览器支持画布:http: //developer.mozilla.org/En/Drawing_Graphics_with_Canvas
这必须在服务器端完成。您可能会考虑做的一件事是允许所有编辑在客户端进行,然后最后将最终图像(通过 AJAX)发布到服务器,以允许它以正确的 MIME 类型将其返回给您,并且正确打包。
您可能想查看Processing.js。jQuery 成名的 John Resig 写了它。它支持像素处理,不幸的是只有 Firefox 3 可以充分处理它。
还要查看数据 URI(尽管 8 以下的 IE 版本不支持它们,很遗憾!)
你可以想象一组 JS 工具可以让用户定义他想要做什么样的转换,但转换的最后工作必须在服务器端完成。出于安全原因,客户端的 JS 无法创建文件。
试试Allicorn 的 Image Retargetter - 听起来这就是你要找的东西。
JavaScript 中的本地图像操作应该是可能的 - 看看Favicon 的 Defender。;-) 问题是如何将原始图像从文件系统获取到您的页面中(除了首先将 HTTP 上传到服务器之外,我不知道任何其他方式)。