7

是否可以在 JavaScript(在客户端)中按像素级别动态创建和修改图像?还是必须使用基于服务器的语言(例如 PHP)来完成?

我的用例如下:

  • 用户打开网页并加载本地存储的图像
  • 显示图像的预览
  • 用户可以使用一组滑块修改图像(像素级操作)
  • 最后,他可以将图像下载到本地硬盘

在网上搜索时,我只找到了有关使用 IE 过滤方法的帖子,但没有找到有关 JavaScript 中的图像编辑功能的任何内容。

4

7 回答 7

8

一些浏览器支持画布:http: //developer.mozilla.org/En/Drawing_Graphics_with_Canvas

于 2008-09-17T08:06:17.537 回答
2

这必须在服务器端完成。您可能会考虑做的一件事是允许所有编辑在客户端进行,然后最后将最终图像(通过 AJAX)发布到服务器,以允许它以正确的 MIME 类型将其返回给您,并且正确打包。

于 2008-09-17T08:05:28.457 回答
2

您可能想查看Processing.js。jQuery 成名的 John Resig 写了它。它支持像素处理,不幸的是只有 Firefox 3 可以充分处理它。

于 2008-09-17T08:25:42.637 回答
1

还要查看数据 URI(尽管 8 以下的 IE 版本不支持它们,很遗憾!)

于 2008-09-17T08:30:48.413 回答
0

你可以想象一组 JS 工具可以让用户定义他想要做什么样的转换,但转换的最后工作必须在服务器端完成。出于安全原因,客户端的 JS 无法创建文件。

于 2008-09-17T08:07:03.960 回答
0

试试Allicorn 的 Image Retargetter - 听起来这就是你要找的东西。

于 2008-09-17T08:15:06.920 回答
0

JavaScript 中的本地图像操作应该是可能的 - 看看Favicon 的 Defender。;-) 问题是如何将原始图像从文件系统获取到您的页面中(除了首先将 HTTP 上传到服务器之外,我不知道任何其他方式)。

于 2008-09-17T08:22:45.420 回答