【发布时间】:2015-12-04 14:35:00
【问题描述】:
我正在制作一个玩纸牌游戏的网站。卡片的图像以一个大的 PNG 文件从服务器下载。在客户端,使用 javascript,我想制作多个元素,每张卡片一个。
var cards = new Array(number of cards);
var request = new XMLHttpRequest();
request.responseType = "arraybuffer";
//alternatively: request.responseType = "blob";
request.onreadystatechange = function(){
var arrayBuffer = this.respons;
//how do I cut up the arrayBuffer such that i can use something like:
var urlCreator = window.URL || window.webkitURL;
var imageUrl = urlCreator.createObjectURL( cards[3] );
var img = document.getElementById("img");
img.src = imageUrl;
}
request.open("GET","cardsheet.png",true);
request.send();
arrayBuffer.slice(0,cardWidth) 不起作用,因为这会在可变 arrayBuffer 中返回一个新的,并且一张卡会从多个 arrayBuffer.slice(0,cardWidth) 中退出。 我想这样做的原因是为了加载所有卡只向服务器发出一个请求。如果我的想法没有完成,你能提供一个替代方案吗?
【问题讨论】:
-
为什么不使用 css background-position 将图像正确定位在卡片中并将其用作背景?
标签: javascript xmlhttprequest png arraybuffer