如何检查像素是否为空?

时间:2015-10-27 21:06:07

标签: javascript image

我正在抓取.gif。我需要知道内容长度是0还是1×1像素。有没有办法通过JavaScript为图像做这个?

3 个答案:

答案 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框架,而不会更改框架修补程序尺寸之外的任何像素。关于这一点可以在这里阅读更多内容。