スクリーンショット - Siv3D/Reference-JP GitHub Wiki
PrintScreen キーを押すと自動でスクリーンショットが保存されます。
保存先は実行ファイルのディレクトリの Screenshot フォルダです。
この機能をオフにしたい場合は ScreenCapture::EnableScreenshot(false)
を呼びます。
Windows 10 を使っている場合、Win + G キーを押すと Windows の機能であるゲームバーがオーバーレイ表示されます。画面の案内にしたがって操作すると、Siv3D アプリケーションの録画や録音、マイク入力音声の録音が可能です。録画されたムービーは、通常はユーザのビデオフォルダに保存されます。
# include <Siv3D.hpp>
void Main()
{
while (System::Update())
{
Graphics::GetSwapChainTexture().draw(Alpha(200));
Circle(Mouse::Pos(), 20).draw();
}
}
スクリーンショットを Image として取得したい場合は、直前のフレームで ScreenCapture::Request()
を呼び、次のフレームで ScreenCapture::GetFrame()
を通して Image を受け取ります。
# include <Siv3D.hpp>
void Main()
{
Graphics::SetBackground(Palette::White);
DynamicTexture texture;
Image image;
while (System::Update())
{
for (int32 i = 0; i < 12; ++i)
{
const double radian = Radians(i * 30 + System::FrameCount());
const Vec2 pos = Circular(100, radian) + Window::Center();
RectF(25).setCenter(pos).rotated(radian).draw(HSV(i * 30));
}
if (texture)
{
texture.draw();
Rect(0, 0, texture.size).drawFrame(1, 0, Palette::Gray);
}
if (ScreenCapture::HasNewFrame())
{
ScreenCapture::GetFrame(image);
texture.fill(image.scaled(0.25));
}
if (Input::MouseL.clicked)
{
ScreenCapture::Request();
}
}
}