PIXI获取图像宽度,高度
问题描述:
我需要获取图像的大小,然后在调用autorenderer之前将其添加到舞台上,并将其设置为defaultX和defaultY,但似乎无法抓住大小。 我如何抓住尺寸? 另外,从我到目前为止,我认为设置大小的最佳方式是使用autorenderer。但如果我稍后调整大小(),那么这里的含义是什么? 任何帮助将不胜感激。谢谢。PIXI获取图像宽度,高度
我的代码:
this.stage = new PIXI.Container();
var texture = PIXI.Texture.fromImage('background.png'); //1610x640
var spr = new PIXI.Sprite(texture);
this.stage.addChild(spr);
defaultX = texture.width;
defaultY = texture.height;
this.renderer = PIXI.autoDetectRenderer(defaultX, defaultY); //640x690
this.renderer.resize(x,y); // I know this works with other values
// eg if I hardcode with 1610,640
// but texture.width doesn't work and
// I don't want to hardcode it
答
,当你调用texture.width您的图片无法加载。
我用接下来的建设:
this.stage = new PIXI.Container();
this.renderer = PIXI.autoDetectRenderer(640, 690); //640x690
var baseTexture = new PIXI.BaseTexture('background.png');
// can be loaded from cache
if (baseTexture .hasLoaded) {
createSprite(baseTexture);
} else {
baseTexture .on('loaded', function() {
createSprite(baseTexture); // or this
});
}
function createSprite(baseTexture) {
var texture = new PIXI.Texture(baseTexture);
var spr = new PIXI.Sprite(texture);
this.stage.addChild(spr);
defaultX = texture.width;
defaultY = texture.height;
this.renderer.resize(defaultX,defaultY);
}
感谢您的答复,但它不工作。我只得到一个绿色的矩形,默认大小的大小。你能说一下你的第一句话吗? – Mike
我在pixi2中有图像加载问题,所以我开始在pixi中使用它们之前加载图像。这样的代码为我工作,但后来我开始使用浏览器onload事件的形象,如: –
var src ='background.png'; var img = new Image() img.onload = function(){ PIXI.utils.BaseTextureCache [src] = new PIXI.BaseTexture(this); } image.src = src; 所以加载后,你可以从缓存中获得基础纹理 var baseTexture = PIXI.utils.BaseTextureCache ['background.png'] –