ocornut / imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mega screenshots

ocornut opened this issue · comments

commented

I should be posting this to the Gallery Thread #1269 but the files here are rather big and I don't want to spam the screen.

Today I upgraded my Screenshooting tool to create mega-capture of very big windows by moving the window and stitching multiple capture.

https://github.com/ocornut/imgui/wiki/screenshot_tool
screenshot_maker

It's mostly for fun right now.
Perhaps I can use something like that to generate shots for the main github page, and either way more automation is always useful (e.g. for #435.). Also interesting because at a glance you can see some of the issues that a theme may have (the "white" theme below has issues).

Results:

out_dark

out_cinder

out_white

<offtopic>
Were these styles shared anywhere? They look gorgeous and i would love to get my hands on them.
</offtopic>

commented

I'm working on making those available in the default imgui but ran into some tangential problems (e.g: bordering). You can grab many of them here: #707 or click on the Style label here.

commented

Closing this old thread.
FYI the "mega / stitched" screenshot can now be achieve with the Dear ImGui Capture Tool inside Test Engine.
Our Test Suite has those two examples:

// ## Capture all tables demo
t = IM_REGISTER_TEST(e, "capture", "capture_table_demo");
t->TestFunc = [](ImGuiTestContext* ctx)
{
    ctx->SetRef("Dear ImGui Demo");
    ctx->ItemOpen("Tables & Columns");
    ctx->ItemClick("Tables/Open all");
    ctx->ItemOpenAll("Tables/Advanced/Options", 1);
    ctx->ItemOpen("Tables/Tree view/**/Root");
    ctx->ItemInputValue("Tables/Advanced/Options/Other:/items_count", 50000); // Fancy

    ctx->CaptureScreenshotWindow("", ImGuiCaptureFlags_StitchAll | ImGuiCaptureFlags_HideMouseCursor);

    ctx->ItemClick("Tables/Close all");
};

// ## Capture all tables demo
t = IM_REGISTER_TEST(e, "capture", "capture_implot_demo");
t->GuiFunc = [](ImGuiTestContext* ctx)
{
    ImPlot::ShowDemoWindow();
};
t->TestFunc = [](ImGuiTestContext* ctx)
{
    ctx->SetRef("ImPlot Demo");
    ctx->ItemOpenAll("");
    ctx->CaptureScreenshotWindow("ImPlot Demo", ImGuiCaptureFlags_StitchAll | ImGuiCaptureFlags_HideMouseCursor);
};

Attached for fun the implot demo:
capture_implot_demo_0000