首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在显示图像之前,有没有办法使用JavaScript来裁剪和调整图像的大小?

在显示图像之前,有没有办法使用JavaScript来裁剪和调整图像的大小?
EN

Stack Overflow用户
提问于 2011-10-18 22:27:12
回答 4查看 5.4K关注 0票数 2

我有一堆图片保存在第三方服务器上,我想加载并显示为网页上的缩略图…

我可以使用JavaScript加载每个图像,裁剪和调整它们的大小,然后将它们显示在页面上的网格中吗?

理想情况下,我希望能够在客户端这样做。我真的不想在服务器上预先加载和处理它们,因为我不想增加带宽使用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-18 22:30:38

您可以将每个图像放入具有固定大小和overflow: hidden的块容器中,从而有效地裁剪它们(您还可以将图像放置在容器内,并使用负的topleft值来选择图像的哪一部分将是可见的)。所有这些都是标准的CSS费用。在网格布局中显示元素也是如此。。

但是,要注意的是,这种解决方案虽然几乎不需要准备,但可能很容易遵循。对于您在页面中显示的每个裁剪过的元素,用户仍然必须下载完整的未裁剪图像,这可能会导致大小为MB的数据。

根据您的用例,采用预处理图像的服务器端解决方案可能更可取。

票数 7
EN

Stack Overflow用户

发布于 2012-08-31 16:10:09

也许这并不完全是基于Javascript或Jquery的解决方案,但这个脚本在eCommerce网站或其他页面都是缩略图的网站上会有很大帮助。它有缓存机制,所以图像只被处理一次:http://shiftingpixel.com/2008/03/03/smart-image-resizer/

票数 2
EN

Stack Overflow用户

发布于 2011-10-18 22:30:56

JS不能直接裁剪图片或调整图片大小,除非你使用的是<canvas>标签。它最多只能通过将图像放入另一个具有overflow:隐藏和调整偏移/边界的元素中来伪造裁剪。您可以通过设置图像的高度/宽度/缩放CSS属性来伪造调整大小。

但是,如果您关心带宽,请考虑客户端大小调整程序要求客户端从您的服务器加载全尺寸图像,然后才能对其进行任何类型的调整。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7808889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档