PIXI.js - png图像资源未加载为图像/纹理,MIME类型集,但没有扩展名

时间:2016-03-02 12:25:31

标签: pixi.js

有谁知道如何强制PIXI加载没有PNG扩展名的PNG文件作为Sprite?请注意,此图片非常大 - 2048x2048px。

问题是,该图像是由ASP.NET MVC控制器生成的,结果基于参数。

这是我的resources.background onject在google开发者控制台中的样子:

Resource
  crossOrigin: ""
  data: " PNG  IHDE    0sRGB   gAMA... etc"
  error: null
  isAudio: false
  isDataUrl: false
  isImage: false
  isJson: false
  isVideo: false
  isXml: false
  loadType: 1
  metadata: Object
  name: "background"
  url: "http://localhost/controller/action/123?param1=png&param2=false"
  xhr: XMLHttpRequest
  xhrType: "text"

2 个答案:

答案 0 :(得分:2)

问题是,xhrType设置为"text"。此外,responseType设置为"text"

解决方法(文档中未明确说明)是为Loader设置选项。

var loaderOptions = {
    loadType: PIXI.loaders.Resource.LOAD_TYPE.IMAGE,
    xhrType: PIXI.loaders.Resource.XHR_RESPONSE_TYPE.BLOB
};

var imageLoader = new PIXI.loaders.Loader()
imageLoader.add("background", "http://pathToImage/noExtension?p=a", loaderOptions);

答案 1 :(得分:0)

顺便说一下,对于 v6,它似乎略有不同:

const loaderOptions = {
    loadType: PIXI.LoaderResource.LOAD_TYPE.IMAGE,
    xhrType: PIXI.LoaderResource.XHR_RESPONSE_TYPE.BLOB
};