<分区>
我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。
关闭 3 年前。
标签 html css image css-sprites
我需要在大型 CMS 中收集图像,以便将它们分组到单个 CSS Sprite 中。但是其中许多都在 CMS 的屏幕上调整了大小。保存完整的网页总是会提供具有原始尺寸的图像。因此,CSS Sprite 生成器以其原始大小渲染它们。而 CSS sprite 技术是基于使用带有背景图像的 HTML 元素,这些图像只能以原始大小显示。
有没有人知道可以从网页中抓取图像的应用程序或脚本,但要保存它们的显示尺寸? (这意味着它还应该将同一图像的各种实例保存为各种文件)
最佳答案
我知道这是一个较旧的问题 - 但它出现在我的搜索中。
由于网页只是将 URL 和显示尺寸提供给浏览器,因此浏览器的工作是显示适当的尺寸...但是浏览器也会考虑您可能拥有的任何缩放设置或其他注意事项等放。此外,某些元素的相对大小可能会根据您的浏览器视口(viewport)而变化,例如桌面与移动设备。因此,为像素下载获取精确像素可能会给您带来误报,这些结果仅针对下载软件或浏览器。
你最好的选择(虽然不是你问的那样预先编写的软件)可能是下载所有图像资源的列表(使用其他人提到的工具 - 我喜欢这个:http://www.webalyzing.com/free-seo-tools/image-extraction.php)
如果您绝对必须拥有 HTML 中给定的精确像素尺寸,那么您可能需要编写一个小的 DOM 解析脚本来遍历所有 IMG 元素。这是一个简单的(未经测试的)PHP 示例。
$dom = new DomDocument();
$dom->loadHTMLFile('http://some-url');
$images = $dom->getElementsByTagName('img');
foreach($images as $image){
$src = $item->getAttribute("src");
// Get other attributes as needed, styles, width, etc...
}
等等...
关于html - 如何从网页中提取图像并保留其显示大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5548782/