Copyright | (c) digitally induced GmbH 2021 |
---|---|
Safe Haskell | None |
Synopsis
- applyImageMagick :: Text -> [String] -> FileInfo LByteString -> IO (FileInfo LByteString)
Documentation
applyImageMagick :: Text -> [String] -> FileInfo LByteString -> IO (FileInfo LByteString) Source #
Converts the image to the specified output format and applies specified image magick transforms
Example: Transform an uploaded image to a PNG file, resize it to 512x512 and strip meta data
let uploadLogo = uploadToStorageWithOptions $ def { preprocess = applyImageMagick "png" ["-resize", "512x512^", "-gravity", "north", "-extent" , "512x512", "-quality", "100%", "-strip"] } company <- fetch companyId company |> fill @'["name"] |> uploadLogo #logoUrl >>= ifValid \case Left company -> render EditView { .. } Right company -> do company <- company |> updateRecord redirectTo EditCompanyAction { .. }
Example: Transform an uploaded image to a JPEG file and strip meta data
let uploadLogo = uploadToStorageWithOptions $ def { preprocess = applyImageMagick "jpg" ["-strip"] } company <- fetch companyId company |> fill @'["name"] |> uploadLogo #logoUrl >>= ifValid \case Left company -> render EditView { .. } Right company -> do company <- company |> updateRecord redirectTo EditCompanyAction { .. }