使用3.2的截屏功能时遇到问题
求教如何通过一个image来创建sprite
Texture2D* texture = new Texture2D()
texture->initWithImage(image); //此处参数是image
Sprite* sprite = Sprite::createWithTexture(texture);
仅供参考
auto image = new (std::nothrow) Image();
if (image && image->initWithRawData(flippedZipBuffer.get(), width * height / 4, width / 4, height / 4, 8))
{
auto texture2D = new (std::nothrow) Texture2D();
if (texture2D && texture2D->initWithImage(image, Texture2D::PixelFormat::RGB565))
{
auto sprite = Sprite::createWithTexture(texture2D);
CHECK(sprite);
sprite->setAnchorPoint(Vec2::ZERO);
sprite->setPosition(Vec2::ZERO);
auto size = sprite->getContentSize();
CHECK(size.width > 10);
auto scaleX = APP_DESIGN_WIDTH / size.width;
auto scaleY = APP_DESIGN_HEIGHT / size.height;
sprite->setLocalZOrder(-1);
sprite->setScale(scaleX, scaleY);
layer->addChild(sprite);
}
CC_SAFE_DELETE(image);
}
```
由于我代码里image长宽都是缩小4倍并虚化后的结果, 所以多了一些缩放处理
时隔多日看到了这个回复 T_T
万分感激
好人一生平安~~~~