pandoc-2.5: Conversion between markup formats

Copyright | Copyright (C) 2011-2018 John MacFarlane
License | GNU GPL, version 2 or above
Maintainer | John MacFarlane <jgm@berkeley.edu>
Stability | alpha
Portability | portable
Safe Haskell | None
Language | Haskell2010

Text.Pandoc.ImageSize

Description

Functions for determining the size of a PNG, JPEG, or GIF image.

Synopsis

- data ImageType
  - = Png
  - | Gif
  - | Jpeg
  - | Svg
  - | Pdf
  - | Eps
  - | Emf
- imageType :: ByteString -> Maybe ImageType
- imageSize :: WriterOptions -> ByteString -> Either String ImageSize
- sizeInPixels :: ImageSize -> (Integer, Integer)
- sizeInPoints :: ImageSize -> (Double, Double)
- desiredSizeInPoints :: WriterOptions -> Attr -> ImageSize -> (Double, Double)
- data Dimension
  - = Pixel Integer
  - | Centimeter Double
  - | Millimeter Double
  - | Inch Double
  - | Percent Double
  - | Em Double
- data Direction
  - = Width
  - | Height
- dimension :: Direction -> Attr -> Maybe Dimension
- lengthToDim :: String -> Maybe Dimension
- scaleDimension :: Double -> Dimension -> Dimension
- inInch :: WriterOptions -> Dimension -> Double
- inPixel :: WriterOptions -> Dimension -> Integer
- inPoints :: WriterOptions -> Dimension -> Double
- inEm :: WriterOptions -> Dimension -> Double
- numUnit :: String -> Maybe (Double, String)
- showInInch :: WriterOptions -> Dimension -> String
- showInPixel :: WriterOptions -> Dimension -> String
- showFl :: RealFloat a => a -> String

# Documentation

data ImageType Source #

Constructors

Png |
Gif |
Jpeg |
Svg |
Pdf |
Eps |
Emf |

Instances

Show ImageType Source # |
Instance details Defined in Text.Pandoc.ImageSize Methods showsPrec :: Int -> ImageType -> ShowS Source # show :: ImageType -> String Source # showList :: [ImageType] -> ShowS Source #

imageType :: ByteString -> Maybe ImageType Source #

imageSize :: WriterOptions -> ByteString -> Either String ImageSize Source #

sizeInPixels :: ImageSize -> (Integer, Integer) Source #

sizeInPoints :: ImageSize -> (Double, Double) Source #

Calculate (height, width) in points using the image file's dpi metadata, using 72 Points == 1 Inch.

desiredSizeInPoints :: WriterOptions -> Attr -> ImageSize -> (Double, Double) Source #

Calculate (height, width) in points, considering the desired dimensions in the attribute, while falling back on the image file's dpi metadata if no dimensions are specified in the attribute (or only dimensions in percentages).

data Dimension Source #

Constructors

Pixel Integer |
Centimeter Double |
Millimeter Double |
Inch Double |
Percent Double |
Em Double |

Instances

Eq Dimension Source # |
Instance details Defined in Text.Pandoc.ImageSize Methods (==) :: Dimension -> Dimension -> Bool Source # (/=) :: Dimension -> Dimension -> Bool Source #
Show Dimension Source # |
Instance details Defined in Text.Pandoc.ImageSize Methods showsPrec :: Int -> Dimension -> ShowS Source # show :: Dimension -> String Source # showList :: [Dimension] -> ShowS Source #

data Direction Source #

Constructors

Width |
Height |

Instances

Show Direction Source # |
Instance details Defined in Text.Pandoc.ImageSize Methods showsPrec :: Int -> Direction -> ShowS Source # show :: Direction -> String Source # showList :: [Direction] -> ShowS Source #

dimension :: Direction -> Attr -> Maybe Dimension Source #

Read a Dimension from an Attr attribute. `dimension Width attr` might return `Just (Pixel 3)` or for example `Just (Centimeter 2.0)`, etc.

lengthToDim :: String -> Maybe Dimension Source #

scaleDimension :: Double -> Dimension -> Dimension Source #

Scale a dimension by a factor.

inInch :: WriterOptions -> Dimension -> Double Source #

inPixel :: WriterOptions -> Dimension -> Integer Source #

inPoints :: WriterOptions -> Dimension -> Double Source #

inEm :: WriterOptions -> Dimension -> Double Source #

numUnit :: String -> Maybe (Double, String) Source #

Maybe split a string into a leading number and trailing unit, e.g. "3cm" to Just (3.0, "cm")

showInInch :: WriterOptions -> Dimension -> String Source #

Convert a Dimension to a String denoting its equivalent in inches, for example "2.00000". Note: Dimensions in percentages are converted to the empty string.

showInPixel :: WriterOptions -> Dimension -> String Source #

Convert a Dimension to a String denoting its equivalent in pixels, for example "600". Note: Dimensions in percentages are converted to the empty string.

showFl :: RealFloat a => a -> String Source #