imagecast 0.7.0

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

imagecast 0.7.0

About
Imagecast is like ImageMagick but for Pythonistas. Optionally provides its
features via HTTP API.
Currently, this is based on Pillow. However, it might be based on Wand in
the future.
There might still be dragons.


Install
Prerequisites
pip install imagecast
With service API:
pip install imagecast[service]


Features

Colorspace conversion: monochrome, grayscale
Cropping with negative right/bottom offsets
Resizing while keeping aspect ratio
Output format: Any image formats from Pillow or raw bytes
HTTP API



Synopsis
# Display on screen
imagecast --uri="$IMGURL" --display

# Colorspace reduction to bi-level with threshold, output as bytes
imagecast --uri="$IMGURL" --monochrome=200 --format=bytes

# Colorspace reduction, cropping, resizing and format conversion
imagecast --uri="$IMGURL" --grayscale --crop=40,50,-50,-40 --width=200 --save=test.png
Example:
imagecast --uri="https://unsplash.com/photos/WvdKljW55rM/download?force=true" --monochrome=80 --crop=850,1925,-950,-900 --width=640 --display

HTML Capturing
Imagecast can also capture screenshots of webpages, or elements thereof. It uses
Playwright and Firefox to convert full pages or specific DOM elements
to bitmaps.
After installing Imagecast, run:
playwright install firefox
Then, invoke Imagecast like:
imagecast --uri="${URL}" --display
In order to select specific elements for capturing, use the --element option
to express a DOM selector to apply:
imagecast --uri="${URL}" --element="#panel-1" --display


HTTP API
Start the Imagecast service as daemon:
imagecast service
Example:
http "localhost:9999/?uri=https%3A%2F%2Funsplash.com%2Fphotos%2FWvdKljW55rM%2Fdownload%3Fforce%3Dtrue&monochrome=80&crop=850,1925,-950,-900&width=640"

Note
You should not run the service without restricting the
list of allowed remote hosts on the public internet.
To do that, invoke the service like:
imagecast service --allowed-hosts=unsplash.com,media.example.org
By default, no host will be allowed. If you really need to enable access
to all upstream hosts, use --allowed-hosts=*. All host names must be
listed explicitly, wildcard notations like *.iana.org are not permitted.




Other projects

https://github.com/DictGet/ecce-homo
https://github.com/agschwender/pilbox
https://github.com/francescortiz/image

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.