From 2698c30a30b68c17a346162f53741aedf4a8549b Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sun, 15 Mar 2009 13:59:06 -0500 Subject: [PATCH] fix BGR>RGB --- basis/images/images.factor | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/basis/images/images.factor b/basis/images/images.factor index aa2e11747e..a426c33ddc 100644 --- a/basis/images/images.factor +++ b/basis/images/images.factor @@ -61,26 +61,30 @@ M: R16G16B16A16 normalize-component-order* M: R16G16B16 normalize-component-order* drop RGB16>8 add-dummy-alpha ; -: BGR>RGB ( bitmap bytes-per-pixel -- pixels ) - [ ] map B{ } join ; inline +: BGR>RGB ( bitmap -- pixels ) + 3 [ ] map B{ } join ; inline + +: BGRA>RGBA ( bitmap -- pixels ) + 4 + [ unclip-last-slice [ ] dip suffix ] map concat ; inline M: BGRA normalize-component-order* - drop 4 BGR>RGB ; + drop BGRA>RGBA ; M: RGB normalize-component-order* drop add-dummy-alpha ; M: BGR normalize-component-order* - drop 3 BGR>RGB add-dummy-alpha ; + drop BGR>RGB add-dummy-alpha ; : ARGB>RGBA ( bitmap -- bitmap' ) - 4 [ unclip suffix ] map B{ } join ; + 4 [ unclip suffix ] map B{ } join ; inline M: ARGB normalize-component-order* drop ARGB>RGBA ; M: ABGR normalize-component-order* - drop ARGB>RGBA 4 BGR>RGB ; + drop ARGB>RGBA BGRA>RGBA ; : normalize-scan-line-order ( image -- image ) dup upside-down?>> [