Image对象
HTML中我们可以使用<img>
标签加载一个图片,但是对于像游戏、图片处理软件等需求,使用<img>
加载一个静态的图片是不够的。实际上,浏览器中为JavaScript提供了Image对象,可以实现这个功能。
从URL加载图片对象
下面代码使用图片的URL地址初始化了一个Image对象,加载这个图片后,将其绘制在了Canvas中。
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var img = new Image();
img.src = '1.jpg';
img.onload = function () {
context.drawImage(img, 0, 0);
};
Image对象和<img>
标签
实际上,我们使用new Image()
创建的对象,可以直接以DOM节点的形式挂载到页面上,页面上的<img>
标签也可以直接转为Image
对象。
使用JavaScript加载图片并作为<img>
标签插入页面:
var div = document.getElementById('div');
var img = new Image();
img.src = '1.jpg';
img.onload = function () {
div.appendChild(img);
};
页面上会生成这样的对应元素:
<img src="1.jpg">
获取页面上的<img>
标签,并将其绘制在Canvas中:
var img = document.getElementById('img');
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
但实际上,我们编写普通网页时,创建Image节点还是通常使用document.createElement('img')
,只有在需要大量图片预加载的Web应用中,才会用到Image
对象:
var img = document.createElement('img');
img.src = '1.jpg';
document.getElementById('div').appendChild(img);
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。