Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PNGShot Switch

From GameBrew
Revision as of 01:16, 22 September 2024 by Hyatt (talk | contribs)
PNGShot
Switch-logo.png
General
AuthorJ-D-K
TypeSysmodules
Version1.5.0
LicenseMixed
Last Updated2024/09/18
Links
Download
Website
Source

A sysmodule that can take screenshots and save them as PNG's instead of the system's default JPEG. The benefits are that:

  • Files are smaller than a bitmap, ranging from a couple of hundred kilobytes to just under 2MB, depending on what’s captured.
  • Unlike JPEG, PNGs are lossless.

Installation

For now you will need the exefs patches from bitmap-printer.

Download the sysmodule from here.

User guide

Screenshots are exported to "SDMC:/[album directory]/PNGs/[year][month][day][hour][minutes][seconds].png" when the capture button is pressed.

They are standard RGB, containing no alpha to minimize size. They are captured using the screenshot viLayer, so they do contain the same watermarks as normal screenshots. This can easily be changed by editing line 99 for the "experimental" build or 170 of capture.c in PNGShot's source.

Changelog

v1.5.0

  • PNGShot now uses [album directory]/PNGs instead of switch/PNGShot when creating screenshots.
    • PNGShot will try to open the album directory on your SD card first and fall back to NAND if that fails.
  • This also means PNGShot no longer uses C stdio functions for file writing, instead using libnx's FS functions directly to get the job done.
  • Included in this release is what I call the "experimental" build:
    • This build buffers the entire raw capture after the capture button is pressed. This requires a lot more memory to be used. The experimental build uses 6MB vs the normal build's 24KB. YOU HAVE BEEN WARNED. This can cause conflicts and issues, but has the benefit of allowing normal JPEGs and video captures to function again because the capture stream is released almost immediately.

v1.0.2

  • Time service is exited after libnx time is initialized and it's no longer needed anymore.

v1.0.1

  • Uses new naming scheme for output.
  • Updated code.

v1.0

  • First Release.

Credits

Thanks to:

External links

Advertising: