Yet Another Python wrapper for GraphicsMagick
Project description
About
pgmagick is a yet another boost.python based wrapper for GraphicsMagick.
Installation
install to:
$ pip install pgmagick
Requirements
Python2.5++, GraphicsMagick and Boost.Python.
package install on Ubuntu(test on Ubuntu10.04+):
### Ubuntu11.10+ ### $ apt-get install python-pgmagick ### Ubuntu10.04+ ### $ apt-get install libgraphicsmagick++1-dev $ apt-get install libboost-python1.40-dev
package install on Fedora:
$ yum install GraphicsMagick-c++-devel $ yum install boost-devel
GraphicsMagick from source package:
$ ./configure --enable-shared=yes $ make && make install
MacOSX
via homebrew-cask(homebrew-pgmagick) with Python2
$ brew tap hhatto/pgmagick $ brew install pgmagick
via homebrew-cask(homebrew-pgmagick) with Python3
with –with-python3 option:
$ brew install pgmagick --with-python3
via homebrew and pip with Python3
on MacOSX 10.11.6:
$ brew install graphicsmagick $ brew install boost-python --with-python3 $ pip install pgmagick
via homebrew and pip with Python2
update 2017.05.17 on MacOSX 10.11.6:
$ brew install graphicsmagick $ brew install boost-python $ pip install pgmagick
update 2014.05.12 on MacOSX 10.9.2 (add ARCHFLAGS):
$ brew install graphicsmagick $ brew install boost --with-python $ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pgmagick
Windows
Now, not official support. However, unofficial binary packages exists.
ImageMagick support
pgmagick is supported to ImageMagick library. (version:0.4+)
package install on Ubuntu(test on Ubuntu10.04+):
$ apt-get install libmagick++-dev
show library name and version:
>>> from pgmagick import gminfo >>> gminfo.library 'GraphicsMagick' # or 'ImageMagick' >>> gminfo.version '1.3.x' >>>
Usage
scale example:
>>> from pgmagick import Image >>> im = Image('input.jpg') >>> im.quality(100) >>> im.scale('100x100') >>> im.sharpen(1.0) >>> im.write('output.jpg')
resize example:
>>> from pgmagick import Image >>> im = Image('input.jpg') >>> im.filterType(FilterTypes.SincFilter) >>> im.resize('100x100') >>> im.write('output.jpg')
composite example:
>>> from pgmagick import Image, CompositeOperator as co >>> base = Image('base.png') >>> layer = Image('layer_one.png') >>> base.composite(layer, 100, 100, co.OverCompositeOp) >>> im.write('output.png')
draw example:
>>> from pgmagick import Image, DrawableCircle, DrawableText, Geometry, Color >>> im = Image(Geometry(300, 300), Color("yellow")) >>> circle = DrawableCircle(100, 100, 20, 20) >>> im.draw(circle) >>> im.fontPointsize(65) >>> text = DrawableText(30, 250, "Hello pgmagick") >>> im.draw(text) >>> im.write('hoge.png')
blob access:
>>> from pgmagick import Image, Blob, Geometry >>> blob = Blob(open('filename.jpg').read()) >>> blob.update(open('filename2.jpg').read()) >>> img = Image(blob, Geometry(600, 480)) >>> img.scale('300x200') >>> img.write('out.jpg')
create animated-GIF:
from pgmagick import Image, ImageList, Geometry, Color imgs = ImageList() for color in ('red', 'blue', 'green', 'black', 'yellow'): imgs.append(Image(Geometry(200, 200), Color(color))) imgs.animationDelayImages(100) imgs.scaleImages(Geometry(100, 100)) imgs.writeImages('output.gif')
more API detail… read to Magick++ API for GraphicsMagick document.
Python APIs(NOTICE!! this api is alpha version!!):
>>> from pgmagick.api import Image >>> img = Image((300, 300), "gradient:#ffffff-#000000") >>> img.scale(0.8) >>> img.write('out.png')
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pgmagick-0.7.2-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76cd446d884986eaf1753b187683f13b3d7b472fb6f385ff786f9173108c20d2 |
|
MD5 | a2a19442a0dac0a5fe3584b67f213402 |
|
BLAKE2b-256 | f149a8e9a7362c8f88a7a469fe68690477c2a5e832e1386cf50e861d32de44ce |
Hashes for pgmagick-0.7.2-cp36-cp36m-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0605e5fd21fd035b5fc9eaf2b8239fe9209c4a35dc3c87c467bd6d69d6431229 |
|
MD5 | cc4c47d9acce2378c877c4a6985722c4 |
|
BLAKE2b-256 | 5fd78c569e315fa90a3b6b2d0ca56b3689b7480ec879d50dc978b13251ff2509 |
Hashes for pgmagick-0.7.2-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2473ab7f17757b558db7d7a71be492e9a32847a5a2ae917210a971fd2bc9dc7d |
|
MD5 | 20053a8a6890ffeaf49db262f029a5fa |
|
BLAKE2b-256 | bcf7a23b647a8e87d278960422135b61267a43ea4a8ecee1ed7f479128ea28bc |
Hashes for pgmagick-0.7.2-cp27-cp27m-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad646ac3666a908b46fbdb9630ba1f291e561bc5973f0078871cf1379acacffc |
|
MD5 | e145d04bcc1ff552ce68f7d64a1d64e9 |
|
BLAKE2b-256 | d46dca38b140277d3c6e62a38bf0e6016857ff7c42228ea10f22d8b07258c5d1 |