From f7b0d5c5327aa04e9359e5ddde6512977cc05d44 Mon Sep 17 00:00:00 2001 From: Martijn Versteegh Date: Thu, 22 Nov 2018 14:38:58 +0100 Subject: [PATCH] Fix color2int, int2color alpha handling (libgd alpha is 0-127) --- Image.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Image.cpp b/Image.cpp index c84df37..dc6eacc 100644 --- a/Image.cpp +++ b/Image.cpp @@ -19,7 +19,7 @@ static inline int color2int(Color c) { - u8 a = 255 - c.a; + u8 a = (255 - c.a) * gdAlphaMax / 255; return (a << 24) | (c.r << 16) | (c.g << 8) | c.b; } @@ -31,7 +31,7 @@ static inline Color int2color(int c) c2.g = (c >> 8) & 0xff; c2.r = (c >> 16) & 0xff; a = (c >> 24) & 0xff; - c2.a = 255 - a; + c2.a = 255 - (a*255 / gdAlphaMax); return c2; }