我正在抓取.gif
。我需要知道内容长度是0
还是1×1像素。有没有办法通过JavaScript为图像做这个?
答案 0 :(得分:3)
您可以使用Image
对象加载并检查维度,然后再将其加载到DOM。
var img = new Image()
img.src ='http://lorempixel.com//1/1';
img.addEventListener("load", function() {
console.log(img.naturalWidth)
console.log(img.naturalHeight)
}, false);
//outputs 1 1
答案 1 :(得分:0)
这应该为你做。
$('#image').change(function() {
var img = new Image();
img.onload = function(){
$('#height').html(img.height);
$('#width').html(img.width);
};
img.src = $(this).val();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Image URL: <input type="text" id="image" /></label>
<h1>Width: <span id="width"></span></h1>
<h1>Height: <span id="height"></span></h1>
答案 2 :(得分:0)
如何看待gifuct-js https://github.com/matt-way/gifuct-js
它是js中的gif解析器。
decompressFrames(buildPatch)函数的结果返回所有GIF图像帧及其元数据的数组。
您也可以获取像素数据
像素数据被存储为每个像素的索引列表。这些都指向colorTable数组中的值,该值包含应绘制每个像素的颜色。 gif的每个帧可能不是完整大小,而是需要在特定位置绘制的补丁。 disposType定义了如何在gif画布上绘制补丁。在大多数情况下,该值将为1,表示应该简单地在现有的gif画布上绘制gif框架,而不会更改框架修补程序尺寸之外的任何像素。关于这一点可以在这里阅读更多内容。