-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Efficiently scale, crop, flip images with JuicyPixels
--   
--   Efficiently scale, crop, flip images with JuicyPixels.
@package JuicyPixels-extra
@version 0.4.0


-- | Utilities for image transformation with JuicyPixels.
module Codec.Picture.Extra

-- | Scale an image using bi-linear interpolation.
scaleBilinear :: (Pixel a, Bounded (PixelBaseComponent a), Integral (PixelBaseComponent a)) => Int -> Int -> Image a -> Image a

-- | Crop a given image. If supplied coordinates are greater than size of
--   original image, image boundaries are used instead.
crop :: Pixel a => Int -> Int -> Int -> Int -> Image a -> Image a

-- | Flip an image horizontally.
flipHorizontally :: Pixel a => Image a -> Image a

-- | Flip an image vertically.
flipVertically :: Pixel a => Image a -> Image a

-- | Rotate an image to the left by 90°.
rotateLeft90 :: Pixel a => Image a -> Image a

-- | Rotate an image to the right by 90°.
rotateRight90 :: Pixel a => Image a -> Image a

-- | Rotate an image by 180°, i.e flip both vertically and horizontally.
rotate180 :: Pixel a => Image a -> Image a

-- | Create an image by placing several images side by side. If the images
--   are of differnet heights the smallest height is used.
beside :: Pixel a => [Image a] -> Image a

-- | Create an image by placing several images in a vertical stack. If the
--   images are of differnet widths the smallest width is used.
below :: Pixel a => [Image a] -> Image a
