【问题标题】:jQuery - Crop Remove Image?jQuery - 裁剪删除图像?
【发布时间】:2012-12-05 00:29:18
【问题描述】:

我正在从另一个网站动态提取远程图像。其中一些图像的尺寸非常大。但是它们的宽度都是一样的。

所以目前,我用overflow:hidden; 显示它们。然而,一些图像的高度非常大。因此,这些图像的加载时间很长,即使它们的尺寸只显示了一小部分

在我将其拉入显示时,有什么方法(使用 JQuery)可以从根本上裁剪远程存在的图像?

【问题讨论】:

  • 为什么要从其他网站提取图片?该网站是否在您的控制之下?
  • 好的,谢谢。两个网站都没有,但图片是从 API 中提取的
  • 在服务器端,您可以缓存图像或动态拉下它们(可能比客户端下载它们更快)并将图像重新采样到更小的尺寸。然后让客户裁剪较小的尺寸并将裁剪应用于原始图像以保持质量。
  • 除了服务器进程外,没有办法缩短传输时间,服务器需要传输完整的图像来剪切或调整大小

标签: jquery


【解决方案1】:

javascript 是客户端,这意味着它在您的计算机上运行。如果不完全加载它,就无法使用 js 操作图像(即使您在 js 上有图像操作库)。

在您的情况下,您想在远程主机上操作图像 - 发出 HTTP 请求,使用 javascript 获取图像的一部分 - 这是不可能的(除非您有某种网络服务)。

在您的情况下 - 您可以从服务器 A 下载整个图像并将其上传到服务器 B 并使用服务器 B 运行操作。

更好的方法是从服务器 A 下载整个图像 - 使用 javascript(和 html 画布)进行操作并生成修改后的版本并将修改后的版本发送到服务器 B。由于下载速度快而上传速度慢 -这应该工作得很快。

在这两种情况下,您都需要下载整个图像。在第二种方法中,您不必将原始(大)图像上传到服务器,而只需一个较小的修改版本。

【讨论】:

  • 嗯好吧,这似乎是合理的。现在,我对所有数据发出 JSON 请求,包括图像 URL。那么一旦我得到了图片的 URL,如何在 JQuery 中剪切图片呢?
  • 我认为你需要画布。查看stackoverflow.com/questions/916934/…,您可以从画布生成图像
猜你喜欢
  • 2020-06-22
  • 2013-08-14
  • 1970-01-01
  • 2017-09-22
  • 2021-12-20
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
相关资源
最近更新 更多