cocos2d / cocos2d-x

Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x.
https://www.cocos.com/en/cocos2d-x
18.02k stars 7.05k forks source link

Null Image Data In RenderTexture::newImage Callback #20776

Open Diam2023 opened 11 months ago

Diam2023 commented 11 months ago

When Run Code:

        RenderTexture* pRender = RenderTexture::create(
            static_cast<int>(tmpSprite->getContentSize().width),
            static_cast<int>(tmpSprite->getContentSize().height),
            backend::PixelFormat::RGBA8888);

//        pRender->setSprite(tmpSprite);
        pRender->begin();
        tmpSprite->visit();
        pRender->end();

        pRender->newImage([role](Image* image) {
            auto polygon = ImageAutoPolygon::generatePolygon(image);
            role->initWithPolygon(polygon);
            // role->updatePoly();
            role->setVisible(true);
        });

In line
auto polygon = ImageAutoPolygon::generatePolygon(image); You Will get a incomplete Image Instance Because Image::_data is null data Like This: image

When Use