imagemagick 0.0.3.5 → 0.0.3.7
raw patch · 16 files changed
+268/−87 lines, 16 filesdep ~transformersdep ~vector
Dependency ranges changed: transformers, vector
Files
- Graphics/ImageMagick/MagickCore.hs +11/−6
- Graphics/ImageMagick/MagickCore/FFI/Quantize.hsc +14/−0
- Graphics/ImageMagick/MagickCore/Quantize.hs +15/−0
- Graphics/ImageMagick/MagickCore/Types.hs +45/−22
- Graphics/ImageMagick/MagickCore/Types/FFI/ColorspaceType.hsc +3/−1
- Graphics/ImageMagick/MagickCore/Types/FFI/DitherMethod.hsc +20/−0
- Graphics/ImageMagick/MagickCore/Types/FFI/Log.hsc +19/−19
- Graphics/ImageMagick/MagickCore/Types/FFI/PixelPacket.hsc +2/−0
- Graphics/ImageMagick/MagickCore/Types/FFI/Quantize.hsc +44/−0
- Graphics/ImageMagick/MagickCore/Types/FFI/Types.hsc +0/−2
- Graphics/ImageMagick/MagickWand.hs +17/−9
- Graphics/ImageMagick/MagickWand/FFI/Types.hsc +4/−1
- Graphics/ImageMagick/MagickWand/FFI/WandImage.hsc +20/−0
- Graphics/ImageMagick/MagickWand/WandImage.hs +22/−2
- imagemagick.cabal +29/−25
- test/ImageTest.hs +3/−0
Graphics/ImageMagick/MagickCore.hs view
@@ -1,8 +1,13 @@ module Graphics.ImageMagick.MagickCore- ( module X ) where+ ( module Graphics.ImageMagick.MagickCore.Exception+ , module Graphics.ImageMagick.MagickCore.Gem+ , module Graphics.ImageMagick.MagickCore.Mime+ , module Graphics.ImageMagick.MagickCore.Option+ , module Graphics.ImageMagick.MagickCore.Types+ ) where -import Graphics.ImageMagick.MagickCore.Exception as X-import Graphics.ImageMagick.MagickCore.Gem as X-import Graphics.ImageMagick.MagickCore.Mime as X-import Graphics.ImageMagick.MagickCore.Option as X-import Graphics.ImageMagick.MagickCore.Types as X+import Graphics.ImageMagick.MagickCore.Exception+import Graphics.ImageMagick.MagickCore.Gem+import Graphics.ImageMagick.MagickCore.Mime+import Graphics.ImageMagick.MagickCore.Option+import Graphics.ImageMagick.MagickCore.Types
+ Graphics/ImageMagick/MagickCore/FFI/Quantize.hsc view
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}++module Graphics.ImageMagick.MagickCore.FFI.Quantize+ where++#include <magick/MagickCore.h>++import Foreign+import Graphics.ImageMagick.MagickCore.Types.FFI.Quantize++foreign import ccall unsafe "GetQuantizeInfo"+ c_getQuantizeInfo :: Ptr QuantizeInfo -> IO ()+
+ Graphics/ImageMagick/MagickCore/Quantize.hs view
@@ -0,0 +1,15 @@+module Graphics.ImageMagick.MagickCore.Quantize where++import Control.Monad.Trans.Resource+import Control.Monad.IO.Class++import Foreign++import qualified Graphics.ImageMagick.MagickCore.FFI.Quantize as F+import Graphics.ImageMagick.MagickCore.Types.FFI.Quantize (QuantizeInfo)++getQuantizeInfo :: (MonadResource m) => m QuantizeInfo+getQuantizeInfo = liftIO $+ alloca $ \qiPtr -> do+ () <- F.c_getQuantizeInfo qiPtr+ peek qiPtr
Graphics/ImageMagick/MagickCore/Types.hs view
@@ -1,25 +1,48 @@ module Graphics.ImageMagick.MagickCore.Types- ( module X+ ( module Graphics.ImageMagick.MagickCore.Types.FFI.AlphaChannelType+ , module Graphics.ImageMagick.MagickCore.Types.FFI.CacheView+ , module Graphics.ImageMagick.MagickCore.Types.FFI.ChannelType+ , module Graphics.ImageMagick.MagickCore.Types.FFI.ColorspaceType+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Composite+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Compress+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Constitute+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Distort+ , module Graphics.ImageMagick.MagickCore.Types.FFI.DitherMethod+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Exception+ , module Graphics.ImageMagick.MagickCore.Types.FFI.FilterTypes+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Fx+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Geometry+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Image+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Layer+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Log+ , module Graphics.ImageMagick.MagickCore.Types.FFI.MagickFunction+ , module Graphics.ImageMagick.MagickCore.Types.FFI.PaintMethod+ , module Graphics.ImageMagick.MagickCore.Types.FFI.PixelPacket+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Statistic+ , module Graphics.ImageMagick.MagickCore.Types.FFI.Types+ , module Graphics.ImageMagick.MagickCore.Types.MBits ) where -import Graphics.ImageMagick.MagickCore.Types.FFI.AlphaChannelType as X-import Graphics.ImageMagick.MagickCore.Types.FFI.CacheView as X-import Graphics.ImageMagick.MagickCore.Types.FFI.ChannelType as X-import Graphics.ImageMagick.MagickCore.Types.FFI.ColorspaceType as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Composite as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Compress as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Constitute as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Distort as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Exception as X-import Graphics.ImageMagick.MagickCore.Types.FFI.FilterTypes as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Fx as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Geometry as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Image as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Layer as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Log as X-import Graphics.ImageMagick.MagickCore.Types.FFI.MagickFunction as X-import Graphics.ImageMagick.MagickCore.Types.FFI.PaintMethod as X-import Graphics.ImageMagick.MagickCore.Types.FFI.PixelPacket as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Statistic as X-import Graphics.ImageMagick.MagickCore.Types.FFI.Types as X-import Graphics.ImageMagick.MagickCore.Types.MBits as X+import Graphics.ImageMagick.MagickCore.Types.FFI.AlphaChannelType+import Graphics.ImageMagick.MagickCore.Types.FFI.CacheView+import Graphics.ImageMagick.MagickCore.Types.FFI.ChannelType+import Graphics.ImageMagick.MagickCore.Types.FFI.ColorspaceType+import Graphics.ImageMagick.MagickCore.Types.FFI.Composite+import Graphics.ImageMagick.MagickCore.Types.FFI.Compress+import Graphics.ImageMagick.MagickCore.Types.FFI.Constitute+import Graphics.ImageMagick.MagickCore.Types.FFI.Distort+import Graphics.ImageMagick.MagickCore.Types.FFI.DitherMethod+import Graphics.ImageMagick.MagickCore.Types.FFI.Exception+import Graphics.ImageMagick.MagickCore.Types.FFI.FilterTypes+import Graphics.ImageMagick.MagickCore.Types.FFI.Fx+import Graphics.ImageMagick.MagickCore.Types.FFI.Geometry+import Graphics.ImageMagick.MagickCore.Types.FFI.Image+import Graphics.ImageMagick.MagickCore.Types.FFI.Layer+import Graphics.ImageMagick.MagickCore.Types.FFI.Log+import Graphics.ImageMagick.MagickCore.Types.FFI.MagickFunction+import Graphics.ImageMagick.MagickCore.Types.FFI.PaintMethod+import Graphics.ImageMagick.MagickCore.Types.FFI.PixelPacket+import Graphics.ImageMagick.MagickCore.Types.FFI.Statistic+import Graphics.ImageMagick.MagickCore.Types.FFI.Types+import Graphics.ImageMagick.MagickCore.Types.MBits+
Graphics/ImageMagick/MagickCore/Types/FFI/ColorspaceType.hsc view
@@ -1,13 +1,15 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.ImageMagick.MagickCore.Types.FFI.ColorspaceType where import Foreign.C.Types+import Foreign.Storable #include <magick/MagickCore.h> newtype ColorspaceType = ColorspaceType { unColorspaceType :: CInt }- deriving (Eq, Show)+ deriving (Eq, Show, Storable) #{enum ColorspaceType, ColorspaceType,
+ Graphics/ImageMagick/MagickCore/Types/FFI/DitherMethod.hsc view
@@ -0,0 +1,20 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+module Graphics.ImageMagick.MagickCore.Types.FFI.DitherMethod+ where++import Foreign.C.Types+import Foreign.Storable+#include <magick/MagickCore.h>++newtype DitherMethod = DitherMethod { unDitherMethod :: CInt }+ deriving (Eq,Show,Storable)++#{enum DitherMethod, DitherMethod+ , undefinedDitherFilter = UndefinedDitherMethod+ , noDitherMethod = NoDitherMethod+ , riemersmaDitherMethod = RiemersmaDitherMethod+ , floydSteinbergDitherMethod = FloydSteinbergDitherMethod+}+
Graphics/ImageMagick/MagickCore/Types/FFI/Log.hsc view
@@ -13,25 +13,25 @@ #{enum LogEventType, LogEventType , undefinedEvents = UndefinedEvents- , oEvents = NoEvents- , raceEvent = TraceEvent- , nnotateEvent = AnnotateEvent- , lobEvent = BlobEvent- , acheEvent = CacheEvent- , oderEvent = CoderEvent- , onfigureEvent = ConfigureEvent- , eprecateEvent = DeprecateEvent- , rawEvent = DrawEvent- , xceptionEvent = ExceptionEvent- , mageEvent = ImageEvent- , ocaleEvent = LocaleEvent- , oduleEvent = ModuleEvent- , olicyEvent = PolicyEvent- , esourceEvent = ResourceEvent- , ransformEvent = TransformEvent- , serEvent = UserEvent- , andEvent = WandEvent+ , noEvents = NoEvents+ , traceEvent = TraceEvent+ , annotateEvent = AnnotateEvent+ , blobEvent = BlobEvent+ , cacheEvent = CacheEvent+ , coderEvent = CoderEvent+ , configureEvent = ConfigureEvent+ , deprecateEvent = DeprecateEvent+ , drawEvent = DrawEvent+ , exceptionEvent = ExceptionEvent+ , imageEvent = ImageEvent+ , localeEvent = LocaleEvent+ , moduleEvent = ModuleEvent+ , policyEvent = PolicyEvent+ , resourceEvent = ResourceEvent+ , transformEvent = TransformEvent+ , userEvent = UserEvent+ , wandEvent = WandEvent , x11Event = X11Event- , ccelerateEvent = AccelerateEvent+ , accelerateEvent = AccelerateEvent , allEvents = AllEvents }
Graphics/ImageMagick/MagickCore/Types/FFI/PixelPacket.hsc view
@@ -12,6 +12,8 @@ instance Storable PixelPacket where sizeOf = const #size PixelPacket alignment _ = 1+ peek = error "not yet implemented"+ poke = error "not yet implemented" pixelPacketGetRed, pixelPacketGetGreen, pixelPacketGetBlue , pixelPacketGetOpacity
+ Graphics/ImageMagick/MagickCore/Types/FFI/Quantize.hsc view
@@ -0,0 +1,44 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}++module Graphics.ImageMagick.MagickCore.Types.FFI.Quantize where++import Graphics.ImageMagick.MagickCore.Types (ColorspaceType, DitherMethod)+import Graphics.ImageMagick.MagickWand.FFI.Types (MagickBooleanType)+import Foreign.C.Types (CSize)+import Foreign.Storable++#include <magick/MagickCore.h>++data QuantizeInfo = QuantizeInfo { numberOfColors :: CSize+ , treeDepth :: CSize+ , shouldDither :: MagickBooleanType+ , colorspace :: ColorspaceType+ , measureError :: MagickBooleanType+ , signature :: CSize+ , ditherMethod :: DitherMethod+ }+ deriving (Eq, Show)++instance Storable QuantizeInfo where+ sizeOf _ = (#size QuantizeInfo)+ alignment _ = alignment (undefined :: CSize)+ peek ptr = do+ numberOfColors' <- (#peek QuantizeInfo, number_colors) ptr+ treeDepth' <- (#peek QuantizeInfo, tree_depth) ptr+ shouldDither' <- (#peek QuantizeInfo, dither) ptr+ colorspace' <- (#peek QuantizeInfo, colorspace) ptr+ measureError' <- (#peek QuantizeInfo, measure_error) ptr+ signature' <- (#peek QuantizeInfo, signature) ptr+ ditherMethod' <- (#peek QuantizeInfo, dither_method) ptr+ return QuantizeInfo { numberOfColors = numberOfColors'+ , treeDepth = treeDepth'+ , shouldDither = shouldDither'+ , colorspace = colorspace'+ , measureError = measureError'+ , signature = signature'+ , ditherMethod = ditherMethod'+ }+ poke = error "not yet implemented"+
Graphics/ImageMagick/MagickCore/Types/FFI/Types.hsc view
@@ -19,8 +19,6 @@ magickEpsilon :: forall a. Fractional a => a magickEpsilon = 1e-10 -- #const MagickEpsilon-magickHuge :: forall a. Num a => a-magickHuge = #const MagickHuge maxColormapSize :: forall a. Num a => a maxColormapSize = #const MaxColormapSize maxMap :: forall a. Num a => a
Graphics/ImageMagick/MagickWand.hs view
@@ -1,11 +1,19 @@ module Graphics.ImageMagick.MagickWand- ( module G ) where+ ( module Graphics.ImageMagick.MagickCore+ , module Graphics.ImageMagick.MagickWand.DrawingWand+ , module Graphics.ImageMagick.MagickWand.MagickWand+ , module Graphics.ImageMagick.MagickWand.PixelIterator+ , module Graphics.ImageMagick.MagickWand.PixelPacket+ , module Graphics.ImageMagick.MagickWand.PixelWand+ , module Graphics.ImageMagick.MagickWand.Types+ , module Graphics.ImageMagick.MagickWand.WandImage+ ) where -import Graphics.ImageMagick.MagickCore as G-import Graphics.ImageMagick.MagickWand.DrawingWand as G-import Graphics.ImageMagick.MagickWand.MagickWand as G-import Graphics.ImageMagick.MagickWand.PixelIterator as G-import Graphics.ImageMagick.MagickWand.PixelPacket as G-import Graphics.ImageMagick.MagickWand.PixelWand as G-import Graphics.ImageMagick.MagickWand.Types as G-import Graphics.ImageMagick.MagickWand.WandImage as G+import Graphics.ImageMagick.MagickCore+import Graphics.ImageMagick.MagickWand.DrawingWand+import Graphics.ImageMagick.MagickWand.MagickWand+import Graphics.ImageMagick.MagickWand.PixelIterator+import Graphics.ImageMagick.MagickWand.PixelPacket+import Graphics.ImageMagick.MagickWand.PixelWand+import Graphics.ImageMagick.MagickWand.Types+import Graphics.ImageMagick.MagickWand.WandImage
Graphics/ImageMagick/MagickWand/FFI/Types.hsc view
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP, ForeignFunctionInterface, NoMonomorphismRestriction, RankNTypes #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-} module Graphics.ImageMagick.MagickWand.FFI.Types where@@ -31,7 +32,7 @@ newtype MagickBooleanType = MagickBooleanType { unMagickBooleanType :: CInt}- deriving (Eq, Show)+ deriving (Eq, Show, Storable) #{enum MagickBooleanType, MagickBooleanType , mFalse = MagickFalse@@ -75,6 +76,8 @@ instance Storable MagickPixelPacket where sizeOf = const #size MagickPixelPacket alignment _ = 1+ peek = error "not yet implemented"+ poke = error "not yet implemented" getPixelRed, getPixelGreen, getPixelBlue, getPixelIndex :: Storable a => Ptr b -> IO a
Graphics/ImageMagick/MagickWand/FFI/WandImage.hsc view
@@ -387,6 +387,26 @@ -> ImageLayerMethod -- ^ the method of selecting the size of the initial canvas -> IO (Ptr MagickWand) +-- | MagickOptimizeImageLayers() compares each image the GIF disposed+-- forms of the previous image in the sequence. From this it attempts+-- to select the smallest cropped image to replace each frame, while+-- preserving the results of the animation.+foreign import ccall "MagickOptimizeImageLayers" magickOptimizeImageLayers+ :: Ptr MagickWand+ -> IO (Ptr MagickWand)++-- | MagickOptimizeImageTransparency() takes a frame optimized GIF animation, and+-- compares the overlayed pixels against the disposal image resulting from all+-- the previous frames in the animation. Any pixel that does not change the+-- disposal image (and thus does not effect the outcome of an overlay) is made+-- transparent.+--+-- WARNING: This modifies the current images directly, rather than generate+-- a new image sequence.+foreign import ccall "MagickOptimizeImageTransparency" magickOptimizeImageTransparency+ :: Ptr MagickWand+ -> IO MagickBooleanType+ -- | MagickTintImage() applies a color vector to each pixel in the image. The -- length of the vector is 0 for black and white and at its maximum for the -- midtones. The vector weighting function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).
Graphics/ImageMagick/MagickWand/WandImage.hs view
@@ -213,8 +213,8 @@ -- , normalizeImage -- , oilPaintImage -- , opaquePaintImage--- , optimizeImageLayers--- , optimizeImageTransparency+, optimizeImageLayers+, optimizeImageTransparency -- , orderedPosterizeImage -- , pingImage -- , pingImageBlob@@ -648,6 +648,26 @@ -- individual image. mergeImageLayers :: (MonadResource m) => PMagickWand -> ImageLayerMethod -> m (ReleaseKey, PMagickWand) mergeImageLayers w method = wandResource (F.magickMergeImageLayers w method)++-- | MagickOptimizeImageLayers() compares each image the GIF disposed+-- forms of the previous image in the sequence. From this it attempts+-- to select the smallest cropped image to replace each frame, while+-- preserving the results of the animation.+optimizeImageLayers :: (MonadResource m) => PMagickWand+ -> m (ReleaseKey, PMagickWand)+optimizeImageLayers = wandResource . F.magickOptimizeImageLayers++-- | OptimizeImageTransparency() takes a frame optimized GIF animation, and+-- | compares the overlayed pixels against the disposal image resulting from all+-- | the previous frames in the animation. Any pixel that does not change the+-- | disposal image (and thus does not effect the outcome of an overlay) is made+-- | transparent.+-- |+-- | WARNING: This modifies the current images directly, rather than generate+-- | a new image sequence.+optimizeImageTransparency :: (MonadResource m) => PMagickWand+ -> m ()+optimizeImageTransparency w = withException_ w $! F.magickOptimizeImageTransparency w -- | Applies a color vector to each pixel in the image. The length of the -- vector is 0 for black and white and at its maximum for the midtones.
imagemagick.cabal view
@@ -1,5 +1,5 @@ Name: imagemagick-Version: 0.0.3.5+Version: 0.0.3.7 Synopsis: bindings to imagemagick library License: OtherLicense License-file: LICENSE@@ -22,11 +22,13 @@ , Graphics.ImageMagick.MagickCore.FFI.Log , Graphics.ImageMagick.MagickCore.FFI.Mime , Graphics.ImageMagick.MagickCore.FFI.Option+ , Graphics.ImageMagick.MagickCore.FFI.Quantize , Graphics.ImageMagick.MagickCore.Types.FFI.CacheView , Graphics.ImageMagick.MagickCore.Types.FFI.Composite , Graphics.ImageMagick.MagickCore.Types.FFI.Compress , Graphics.ImageMagick.MagickCore.Types.FFI.Constitute , Graphics.ImageMagick.MagickCore.Types.FFI.Distort+ , Graphics.ImageMagick.MagickCore.Types.FFI.DitherMethod , Graphics.ImageMagick.MagickCore.Types.FFI.Exception , Graphics.ImageMagick.MagickCore.Types.FFI.Fx , Graphics.ImageMagick.MagickCore.Types.FFI.Geometry@@ -35,6 +37,7 @@ , Graphics.ImageMagick.MagickCore.Types.FFI.Log , Graphics.ImageMagick.MagickCore.Types.FFI.PaintMethod , Graphics.ImageMagick.MagickCore.Types.FFI.PixelPacket+ , Graphics.ImageMagick.MagickCore.Types.FFI.Quantize , Graphics.ImageMagick.MagickCore.Types.FFI.Statistic , Graphics.ImageMagick.MagickCore.Types.FFI.Types , Graphics.ImageMagick.MagickCore.Types.FFI.ChannelType@@ -48,6 +51,7 @@ , Graphics.ImageMagick.MagickCore.Mime , Graphics.ImageMagick.MagickCore.Exception , Graphics.ImageMagick.MagickCore.Gem+ , Graphics.ImageMagick.MagickCore.Quantize , Graphics.ImageMagick.MagickWand , Graphics.ImageMagick.MagickWand.WandImage , Graphics.ImageMagick.MagickWand.Types@@ -67,8 +71,8 @@ , Graphics.ImageMagick.MagickWand.FFI.WandProperties build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*- , vector >= 0.9 && <0.11+ , transformers >= 0.3 && < 0.5+ , vector >= 0.9 && < 0.11.1 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3 , system-filepath == 0.4.*@@ -87,7 +91,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && < 0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -106,7 +110,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && < 0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && < 1.3@@ -125,7 +129,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && < 0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -145,7 +149,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -164,7 +168,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -182,7 +186,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && < 0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && < 1.3@@ -202,7 +206,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && < 0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -221,7 +225,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && < 1.3@@ -239,7 +243,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -258,7 +262,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -277,7 +281,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -296,7 +300,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -315,7 +319,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -334,7 +338,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -353,7 +357,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -372,7 +376,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -392,7 +396,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -411,7 +415,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -430,7 +434,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -449,7 +453,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -468,7 +472,7 @@ Buildable: True build-depends: base >= 4.0 && <5.0 , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3@@ -488,7 +492,7 @@ , lifted-base >= 0.1 && <0.3 , directory , resourcet >= 0.3 && <1.2- , transformers == 0.3.*+ , transformers >= 0.3 && <0.5 , vector >= 0.9 && <0.11 , bytestring >= 0.9 && <0.11 , text >= 0.11 && <1.3
test/ImageTest.hs view
@@ -414,9 +414,12 @@ testGetImagesBlob :: String -> IO() testGetImagesBlob imgName = withImage imgName $ \w -> do+ numImgs <- getNumberImages w size <- getImageSize w blob <- getImagesBlob w (_,w') <- magickWand readImageBlob w' blob+ numImgs' <- getNumberImages w' size' <- getImageSize w'+ liftIO $ numImgs @?= numImgs' liftIO $ size' @?= size