Skip to main content

Yet Another Python wrapper for GraphicsMagick

Project description

About

Build status

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

use homebrew-pgmagick

$ 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')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pgmagick-0.7.4.tar.gz (363.0 kB view details)

Uploaded Source

Built Distributions

pgmagick-0.7.4-cp36-cp36m-macosx_10_13_x86_64.whl (820.6 kB view details)

Uploaded CPython 3.6m macOS 10.13+ x86-64

pgmagick-0.7.4-cp27-cp27m-macosx_10_13_x86_64.whl (823.2 kB view details)

Uploaded CPython 2.7m macOS 10.13+ x86-64

File details

Details for the file pgmagick-0.7.4.tar.gz.

File metadata

  • Download URL: pgmagick-0.7.4.tar.gz
  • Upload date:
  • Size: 363.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pgmagick-0.7.4.tar.gz
Algorithm Hash digest
SHA256 4f634d5d8d681ff4e6e1b965ba13484f9450da34e574354f23e3daa988064d8a
MD5 9dffc080b852e59e5509bdc003311bf0
BLAKE2b-256 a680e5cae1bf9f0078cb7a7f599c487babb26c01ce3ac3c2537c8f0fa48356be

See more details on using hashes here.

File details

Details for the file pgmagick-0.7.4-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pgmagick-0.7.4-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2a4dc8c280646165f341416c508548cde5e9af0e506881a8cd0ac01d0da0327e
MD5 f0e7e32cd2753c2a694edbb3da583f05
BLAKE2b-256 ea9ad20a16e05627f8dfcb7c2e7bef9c9fc8cd3cdd27f0ea12ebf917e2716573

See more details on using hashes here.

File details

Details for the file pgmagick-0.7.4-cp27-cp27m-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pgmagick-0.7.4-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 441f431b252c682f6f4f212fc825a61b2b7f3662a590c7136303115905e169a8
MD5 460d2e847dec581941afcd13740b7301
BLAKE2b-256 13d6d826e990797fdcd07e8bb193285e19bae0a2718cf3be6a114f85475fd9b5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page