精灵更换大小不一样图片的问题

直接通过图片更换
使用setTexture(CCTexture2D*)函数,可以重新设置精灵类的纹理图片。
bg= Sprite::create(“bg1.png”);

CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("bg2.png");
bg->setTexture(texture); 

请问 更改图片 如果 bg1 和 bg2 如果 宽高 不一样 如何 能切换图片的时候,显示合适的图片大小
尝试了 setTextureRect

texture = CCTextureCache::sharedTextureCache()->addImage("bg3.png");
bg->setTexture(texture); 

只在bg1 --》 bg2 起效果 bg2 再换到 bg3 就还是按 bg2的宽高