SFML Image.saveToFile访问冲突

时间:2018-02-24 20:20:39

标签: c++ sfml

所以我正在开发一个程序,用于生成随机选择颜色形状的图像。并且我想保存输出的图像,这样我就可以在图像上使用着色器,如模糊,以及出于任何目的的输出文件。这是我窗口的主循环。

while (window.isOpen())
{
    Event event;
    while (window.pollEvent(event))
    {
        if (event.type == Event::Closed)
            window.close();
    }
    window.clear(Color::Black);

    for (int i = 0; i < rectangles.size(); i++)
        window.draw(rectangles[i]);

    Texture outputTexture;
    outputTexture.create(width, height);
    outputTexture.update(window);

    Image output;
    output.create(width, height);
    output = outputTexture.copyToImage();
    output.saveToFile("output.png");

    Sprite sprite;
    sprite.setTexture(outputTexture);

    window.clear();
    window.draw(sprite);
    window.display();
}

我用精灵测试了这个,窗口正确地绘制了精灵。但是我在这里收到错误

output.saveToFile("output.png");

在name.exe中的0x00007FF8D1527190(sfml-graphics-2.dll)抛出异常:0xC0000005:访问冲突读取位置0xFFFFFFFFFFFFFFFF。

我似乎无法弄清楚问题,我真的需要能够将图像保存到文件中。谢谢大家的帮助

0 个答案:

没有答案