19

是否有一些客户端组件(jquery/swf)可以在浏览器中上传和裁剪(用户应该能够选择要裁剪的区域)图像,然后将裁剪的图像发送到服务器?

我在 asp.net-mvc 上(不确定是否重要)

4

3 回答 3

20

作物

Jcrop 是将图像裁剪功能添加到 Web 应用程序的快速简便的方法。它结合了典型 jQuery 插件的易用性和强大的跨平台 DHTML 裁剪引擎,忠实于熟悉的桌面图形应用程序。

于 2010-04-29T08:28:59.837 回答
10

Jcrop Image Plugin 可能擅长显示裁剪 UI 并在浏览器中获取裁剪后的坐标。但是,它实际上并没有裁剪图像。因此,裁剪过程是在服务器上完成的,这对您的服务器性能非常不利。

这里的答案介绍了一个 Jcrop 扩展,它可以在浏览器中裁剪图像并将裁剪后的图像上传到服务器。“它使用 Jcrop 插件来裁剪图像,在 HTML 5 画布元素中绘制裁剪区域,将画布转换为 blob 并通过 AJAX 将图像文件上传到服务器”。

最重要的部分是 canvasToBlob 函数,它将 HTML 5 画布元素转换为可以作为图像上传到服务器的 Blob 类型。不幸的是,此方法仅适用于 AJAX,无法直接提交表单,因为无法将 blob 作为输入文件放入标准 HTML 表单元素中。实际上,我们在裁剪图片时很少使用表单直接提交图片。

于 2014-10-14T00:19:59.030 回答
4

您需要结合裁剪 UI 和上传器来完成这个复杂的任务。裁剪 UI 负责显示裁剪 UI 并给出裁剪坐标,上传者裁剪和调整图像大小,将其转换为 blob 并上传到服务器。

裁剪 UI 很常见,但上传者很难找到。我推荐易于使用的裁剪 UI ImgAreaSelect以及简单且可扩展但不是免费的Uploader 。

于 2014-10-30T18:26:53.680 回答