summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2025-05-11 12:34:04 +0200
committerMatthias Melcher <github@matthiasm.com>2025-05-11 12:34:04 +0200
commitc28237d7567541f50a6d303c52c9618bfed5ea26 (patch)
tree8905327b0fd057cc90b4a935cc9fe7d3245f4ade /src
parent74b0dc7d950c98ed38015a5f8f85e199637f7948 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/fl_write_png.cxx4
1 files changed, 4 insertions, 0 deletions
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) {