2つのSiv3Dアプリケーションの間でImageのやり取り
乳製品 2017/10/06(Fri) 20:40
Reputeless 2017/10/08(Sun) 01:00
撮影をするアプリで画像をファイルに保存し、
表示をするアプリでその画像ファイルを読み込むのが簡単です。
画像が保存された時だけファイルを読み込みたい場合は FileMonitor を使います。
サンプルコードです。
// 撮影(Webcam は使っていません)
# include <Siv3D.hpp>
void Main()
{
const Image image(L"Example/Windmill.png");
while (System::Update())
{
if (Input::KeyS.clicked)
{
Println(L"画像を保存");
image.save(L"image.png");
}
}
}
// 表示
# include <Siv3D.hpp>
void Main()
{
FileMonitor monitor(L"image.png");
DynamicTexture texture;
while (System::Update())
{
const auto action = monitor.retrieve();
if (action == FileAction::Modified
&& FileSystem::FileSize(monitor.path()) != 0)
{
texture.fill(Image(monitor.path()));
Println(L"画像を更新");
}
texture.draw();
}
}