1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-02-03 18:14:01 +00:00

less compression for screenshots so taking one is faster

This commit is contained in:
fgenesis 2022-04-29 10:34:10 +02:00
parent 9290acd379
commit e32603e6c0
3 changed files with 8 additions and 4 deletions

View file

@ -2265,7 +2265,7 @@ bool Core::saveScreenshot(const std::string &filename, bool png)
size_t w = getWindowWidth(), h = getWindowHeight();
unsigned char *imageData = grabCenteredScreenshot(w, h);
bool ok = png
? pngSaveRGBA(filename.c_str(), w, h, imageData)
? pngSaveRGBA(filename.c_str(), w, h, imageData, 3)
: tgaSaveRGBA(filename.c_str(), w, h, imageData);
delete [] imageData;
return ok;

View file

@ -5,9 +5,13 @@
#include "ttvfs_stdio.h"
#include "Base.h"
bool pngSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data)
bool pngSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data, unsigned compressLevel)
{
return !!stbi_write_png(filename, (int)width, (int)height, 4, data, width * 4);
const int oldlevel = stbi_write_png_compression_level;
stbi_write_png_compression_level = compressLevel; // HACK: ugly API but what can you do
bool ok = !!stbi_write_png(filename, (int)width, (int)height, 4, data, width * 4);
stbi_write_png_compression_level = oldlevel;
return ok;
}
bool tgaSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data)

View file

@ -5,7 +5,7 @@
bool tgaSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data);
bool zgaSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data);
bool pngSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data);
bool pngSaveRGBA(const char *filename, size_t width, size_t height, unsigned char *data, unsigned compressLevel);
struct ImageData
{