From b9e5ccb1f07453cd1a6961b5b9d7f51982db564b Mon Sep 17 00:00:00 2001
From: Per Hedbor <ph@opera.com>
Date: Sat, 21 Oct 2000 20:03:32 +0200
Subject: [PATCH] Bugfix for transparency

Rev: lib/modules/_Image_PSD.pmod:1.10
---
 lib/modules/_Image_PSD.pmod | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/modules/_Image_PSD.pmod b/lib/modules/_Image_PSD.pmod
index 8de76ec1b6..431ed1519d 100644
--- a/lib/modules/_Image_PSD.pmod
+++ b/lib/modules/_Image_PSD.pmod
@@ -107,9 +107,9 @@ Layer decode_layer(mapping layer, mapping i)
          else
            lays += (({ Image.Layer( ([
              "image":___decode_image_channel(l->width, l->height, c->data),
-             "alpha_value":1.0,
+//             "alpha_value":1.0,
              "mode":mode, 
-           ]) )
+	   ]) )
            }));
 //          werror(mode+" took %4.5f seconds\n", (gethrtime()-st)/1000000.0 );
          c->data = 0;
@@ -310,7 +310,8 @@ array decode_layers( string|mapping what, mapping|void opts )
     {
       Image.Layer lay = Image.Layer( l->image, l->alpha, m );
       l->image = 0; l->alpha = 0;
-      lay->set_alpha_value( l->opacity / 255.0 );
+      if( l->opacity != 255 )
+	lay->set_alpha_value( 1.0 - l->opacity / 255.0 );
       lay->set_offset( l->xoffset, l->yoffset );
       layers += ({ lay });
     }
-- 
GitLab