关于texture纹理的奇怪问题

auto texture1 = Director::getInstance()->getTextureCache()->addImage("a.png");
Texture2D::TexParams tp1 = { GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT };
texture1->setTexParameters(tp1);

各位,大神,上面的代码中,如果把"a.png"换成"b.png"就会报这个错误.请问是什么原因呀. b.png图片是正常的,可以在windows下显示,也可以用精灵加载.

各位大神,我自己解决了,贴出来,给其他新人提个醒.

开始以为是图像深度的问题,我用了png24,png32等不同格式,后来发现原来不是,出现这个错误的原因是Texture对图片的大小有特殊要求.宽和高必须是2的次方. 即2,4,8,16,32这样的大小,否则就会出现上面的错误.
折腾了我半天.