From 8eea41b53727448dc00b7da673da310c9cbf0b3f Mon Sep 17 00:00:00 2001 From: Doug Coleman <doug.coleman@gmail.com> Date: Mon, 16 Mar 2009 07:11:56 -0500 Subject: [PATCH] normalizing alpha data for tiffs is done too often, check in test image for it --- basis/images/tiff/tiff.factor | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/basis/images/tiff/tiff.factor b/basis/images/tiff/tiff.factor index 2ea1b08e20..80eaff8140 100755 --- a/basis/images/tiff/tiff.factor +++ b/basis/images/tiff/tiff.factor @@ -477,26 +477,24 @@ ERROR: unknown-component-order ifd ; [ unknown-component-order ] } case ; +: normalize-alpha-data ( seq -- byte-array ) + ! [ normalize-alpha-data ] change-bitmap + B{ } like dup + byte-array>float-array + 4 <sliced-groups> + [ + dup fourth dup 0 = [ + 2drop + ] [ + [ 3 head-slice ] dip '[ _ / ] change-each + ] if + ] each ; + : handle-alpha-data ( ifd -- ifd ) dup extra-samples find-tag { - { extra-samples-associated-alpha-data [ - [ - B{ } like dup - byte-array>float-array - 4 <sliced-groups> - [ - dup fourth dup 0 = [ - 2drop - ] [ - [ 3 head-slice ] dip '[ _ / ] change-each - ] if - ] each - ] change-bitmap - ] } - { extra-samples-unspecified-alpha-data [ - ] } - { extra-samples-unassociated-alpha-data [ - ] } + { extra-samples-associated-alpha-data [ ] } + { extra-samples-unspecified-alpha-data [ ] } + { extra-samples-unassociated-alpha-data [ ] } [ bad-extra-samples ] } case ;