- 本帖最后由 chenhaooo 于 2013-3-12 21:22 编辑 *
因为项目需要,要把一些纹理放大后使用,本来写了下面这个函数,在手头的Android上也正常。
最近在做机型检测时,发现一些手机上会显示不出来图片。
我用的2.0.3的sdk。
今天用小米1(2.x)就没有问题,小米1(4.x)的图片就没法显示。
有人知道为什么吗?
英文的官网老上不去,只能先发到这里了。。
CCImage * CGraphicUtil::createZoomImage(CCImage * pcOriImage, float fZoomFactorX, float fZoomFactorY)
{
if (pcOriImage == NULL)
{
return NULL;
}
CCTexture2D * pcOriTexture = new CCTexture2D();
pcOriTexture->initWithImage(pcOriImage);
pcOriTexture->autorelease();
pcOriTexture->setAliasTexParameters();
int w = pcOriTexture->getPixelsWide() * fZoomFactorX;
int h = pcOriTexture->getPixelsHigh() * fZoomFactorY;
CCRenderTexture * pcTempRenderTex = CCRenderTexture::create(w, h);
pcTempRenderTex->beginWithClear(0.0f, 0.0f, 0.0f, 0.0f);
pcOriTexture->drawInRect(CCRectMake(0, 0, w, h));
pcTempRenderTex->end();
CCImage * pcRetImage = pcTempRenderTex->newCCImage();
pcRetImage->autorelease();
CC_SAFE_RELEASE(pcTempRenderTex);
CC_SAFE_RELEASE(pcOriTexture);
return pcRetImage;