又一个用于graphicsmagick的python包装器
pgmagick的Python项目详细描述
安装
安装到:
$ pip install pgmagick
要求
python2.5++,graphicsmagick和boost.python。
在ubuntu上安装软件包(在ubuntu10.04+上测试):
### Ubuntu11.10+ ### $ apt-get install python-pgmagick ### Ubuntu10.04+ ### $ apt-get install libgraphicsmagick++1-dev $ apt-get install libboost-python1.40-dev
在Fedora上安装软件包:
$ yum install GraphicsMagick-c++-devel $ yum install boost-devel
来自源包的GraphicsMagick:
$ ./configure --enable-shared=yes $ make && make install
macosx
通过自制桶(自制pgmagick)和Python3
with–with-python3选项:
$ brew install pgmagick --with-python3
用python3自制和pip
在MacOSX 10.11.6上:
$ brew install graphicsmagick $ brew install boost-python --with-python3 $ pip install pgmagick
用python2自制和pip
更新2017.05.17 在MacOSX 10.11.6上:
$ brew install graphicsmagick $ brew install boost-python $ pip install pgmagick
更新2014.05.12 在MacOSX 10.9.2上(添加archflags):
$ brew install graphicsmagick $ brew install boost --with-python $ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pgmagick
imagemagick支持
ImageMagick库支持PGMagick。(版本:0.4+)
在ubuntu上安装软件包(在ubuntu10.04+上测试):
$ apt-get install libmagick++-dev
显示库名称和版本:
>>> from pgmagick import gminfo >>> gminfo.library 'GraphicsMagick' # or 'ImageMagick' >>> gminfo.version '1.3.x' >>>
用法
比例示例:
>>> from pgmagick import Image >>> im = Image('input.jpg') >>> im.quality(100) >>> im.scale('100x100') >>> im.sharpen(1.0) >>> im.write('output.jpg')
调整大小示例:
>>> from pgmagick import Image >>> im = Image('input.jpg') >>> im.filterType(FilterTypes.SincFilter) >>> im.resize('100x100') >>> im.write('output.jpg')
合成示例:
>>> 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')
绘制示例:
>>> 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访问:
>>> 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')
创建动画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')
更多API细节…请阅读Magick++ API for GraphicsMagick文档。
python api(注意!!此API是Alpha版本!!):
>>> from pgmagick.api import Image >>> img = Image((300, 300), "gradient:#ffffff-#000000") >>> img.scale(0.8) >>> img.write('out.png')