【发布时间】:2015-01-19 20:21:18
【问题描述】:
我正在尝试使用精灵在画布元素中设置一些图像对象(效果很好)(停止正常工作..):
注意:代码已简化!
HTML
<canvas id="canvasMap" width="600" height="600"></canvas>
<div id="playerLeft"></div>
JS
var canvas = document.getElementById('canvasMap');
var context = canvas.getContext('2d');
var img = new Image();
img.src = $($(document).find('#playerLeft').get(0)).css('background').replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
img.onload = function () {
context.drawImage(img, 0, 0);
};
CSS
#playerLeft {
left: 0px;
height:58px;
display:block;
width: 80px;
background: url('/assets/sprites/angle.png') -0px -70px;
}
结果(开发者控制台)
Resource interpreted as Image but transferred with MIME type text/html: "http://example.com/rgba(0,%200,%200,%200)%20url(http://example.com/assets/spr…png)%20repeat%20scroll%200px%20-70px%20/%20auto%20padding-box%20border-box"
问题
我怎样才能使声明的图像对象通过 css 定义的 id 接收背景精灵?我想在没有第三方库的情况下解决它。
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“在先致谢”。
标签: javascript canvas sprite