html - 如何从网页中提取图像并保留其显示大小?

标签 html css image css-sprites

<分区>


我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。

关闭 3 年前

我需要在大型 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/

上一篇:html - 帮助粘性页脚

下一篇:jquery - 如何使用CSS将图像附加到框的顶部

相关文章:

html - 使用带悬停的过渡而不恢复到以前的状态

ios - 将按钮图像设置为从 xcode 库中选择的图像

Android应用程序不同风格的标题在同一个标​​题栏

jquery - 工具提示在 chartlist.js 中的 firefox 中没有出现在正确的位置

php - Magento "File was not uploaded"

android - 将图像保存到 Android 内存,然后使用 Intent 作为电子邮件发送

html - 根据子元素的文本自动调整芯片组件(div)的宽度

jquery - 如何通过单击关闭弹出窗口?

html - 如何将Bootstrap 3 Wells放在同一行?

html - css + html : relative percentages?(媒体查询)