跳转到主要内容

另一个针对GraphicsMagick的Python包装器

项目描述

关于

PyPI Version Build status

pgmagick是基于boost.python的针对GraphicsMagick的另一个包装器。

安装

安装到

$ pip install pgmagick

需求

Python3.5++ (或Python2.7), GraphicsMagick和Boost.Python。

Debian Buster上的包安装

$ apt-get install g++ libgraphicsmagick++1-dev libboost-python-dev

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

通过homebrew-cask(homebrew-pgmagick)与Python3使用

使用homebrew-pgmagick

$ brew tap hhatto/pgmagick
$ brew install pgmagick

通过homebrew-cask(homebrew-pgmagick)与Python3使用

通过homebrew和pip与Python3使用

在MacOSX (10.13.5~10.15.x)上

$ brew install python
$ brew install graphicsmagick
$ brew install boost-python3
$ pip install pgmagick

Windows

现在,没有官方支持。然而,存在 非官方 二进制包。

ImageMagick支持

pgmagick支持ImageMagick库。 (版本: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详情...请参阅GraphicsMagick的Magick++ API文档

Python APIs(注意!!这个API是alpha版本!!)

>>> from pgmagick.api import Image
>>> img = Image((300, 300), "gradient:#ffffff-#000000")
>>> img.scale(0.8)
>>> img.write('out.png')

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

pgmagick-0.7.6.tar.gz (363.7 kB 查看哈希值)

上传

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面