From ab5476f270777f19ccec7250fabce4e9ca4dc9fc Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Mon, 20 Apr 2009 16:02:28 +0000 Subject: [PATCH] stuff --- ChangeLog | 1 + libsrc/format/im_magick2vips.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 58aefe96..f838cd02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ - fix includes for gtk+-3.0 - report virtual memory too in im__print_all() - cosmetic changes to nohalo +- im_magick2vips() needs to invert alpha 25/3/09 started 7.18.0 - revised version numbers diff --git a/libsrc/format/im_magick2vips.c b/libsrc/format/im_magick2vips.c index b187677a..7002df07 100644 --- a/libsrc/format/im_magick2vips.c +++ b/libsrc/format/im_magick2vips.c @@ -24,6 +24,9 @@ * - allow funky bit depths, like 14 (thanks Mikkel) * 17/3/09 * - reset dcm:display-range to help DICOM read + * 20/4/09 + * - argh libMagick uses 255 == transparent ... we must invert all + * alpha channels */ /* @@ -401,7 +404,7 @@ parse_header( Read *read ) \ for( x = 0; x < n; x++ ) { \ q[0] = pixels[x].green / SCALE( MAX ); \ - q[1] = pixels[x].opacity / SCALE( MAX ); \ + q[1] = MAX - pixels[x].opacity / SCALE( MAX ); \ \ q += 2; \ } \ @@ -426,7 +429,7 @@ parse_header( Read *read ) q[0] = pixels[x].red / SCALE( MAX ); \ q[1] = pixels[x].green / SCALE( MAX ); \ q[2] = pixels[x].blue / SCALE( MAX ); \ - q[3] = pixels[x].opacity / SCALE( MAX ); \ + q[3] = MAX - pixels[x].opacity / SCALE( MAX ); \ \ q += 4; \ } \