simple set of functions and cli for image manipulation
app | ||
src | ||
test | ||
.gitignore | ||
45.png | ||
dreamboy.jpg | ||
LICENSE | ||
output.png | ||
picedit.cabal | ||
README.md | ||
Setup.hs | ||
stack.yaml | ||
test.png |
picedit
A simple CLI and API for image manipulation
CLI Usage
Usage: picedit <input> [OPTIONS]
Options:
--contrast <n> - a number between -255 and 255
--brightness <n> - a number between -255 and 255
--gamma <n>
--fade <n> - a number between 0 and 100
--rotate <n> - rotate image by n degrees
--grayscale - turn the image grayscale
--invert - invert (negative) the image
--compress <n> - approximate the (width - n)-th rank of image using SVD
a number between 0 (no compression) and image width (full compression)
note: this is not size compression
--output <filename> - output name, defaults to 'output.png'
Example:
stack exec picedit -- dreamboy.jpg --grayscale --contrast 180 --gamma 2 --rotate 180
![](https://github.com/mdibaiee/picedit/blob/master/dreamboy.jpg?raw=true)
![](https://github.com/mdibaiee/picedit/blob/master/output.png?raw=true)
Embedding images (the zombie is embedded at top left, 100x + 10y):
![](https://github.com/mdibaiee/picedit/blob/master/45.png?raw=true)
![](https://github.com/mdibaiee/picedit/blob/master/output.png?raw=true)
![](https://github.com/mdibaiee/picedit/blob/master/test.png?raw=true)
Library
Documentation available at hackage
import Data.Picture
main = do
pic <- readPicture "myfile.png"
writePicturePng "output.png" (grayscale pic)