現在描画している画面を画像として取得する機能
テリ 2022/11/19(Sat) 15:17
Reputeless 2022/11/23(Wed) 21:15
ScreenCapture::RequestCurrentFrame()
を呼ぶと、シーンの最終描画を次のフレームで
ScreenCapture::GetFrame()
を使って取得できます。ほかには RenderTexture を使う方法もあります。
# include <Siv3D.hpp> // OpenSiv3D v0.6.6
void Main()
{
bool capture = false;
const Texture emoji{ U"🐈"_emoji };
DynamicTexture texture;
while (System::Update())
{
if (capture)
{
texture.fill(ScreenCapture::GetFrame());
capture = false;
}
if (KeyA.down())
{
emoji.drawAt(Scene::Center());
ScreenCapture::RequestCurrentFrame();
capture = true;
}
if (texture)
{
Scene::SetBackground(ColorF{ 0.8,0.9,1.0 });
texture.scaled(0.25).draw();
}
}
}