From c28237d7567541f50a6d303c52c9618bfed5ea26 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 11 May 2025 12:34:04 +0200 Subject: Set default DPI to 300 in fl_write_png Previously, the DPI value was completely random, resulting in some interesting scaling when reading the png in other apps. --- src/fl_write_png.cxx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/fl_write_png.cxx b/src/fl_write_png.cxx index 855e03551..c46072933 100644 --- a/src/fl_write_png.cxx +++ b/src/fl_write_png.cxx @@ -158,6 +158,10 @@ int fl_write_png(const char *filename, const char *pixels, int w, int h, int d, PNG_FILTER_TYPE_DEFAULT); png_set_sRGB(pptr, iptr, PNG_sRGB_INTENT_PERCEPTUAL); + double dpi = 300.0; + int dots_per_meter = (int)(dpi / (2.54 / 100.0)); + png_set_pHYs(pptr, iptr, dots_per_meter, dots_per_meter, PNG_RESOLUTION_METER); + png_write_info(pptr, iptr); for (int i = 0; i < h; i++, ptr += ld) { -- cgit v1.2.3