Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rcarmo/pngcanvas
A minimalist library to render PNG images using pure Python
https://github.com/rcarmo/pngcanvas
Last synced: about 2 months ago
JSON representation
A minimalist library to render PNG images using pure Python
- Host: GitHub
- URL: https://github.com/rcarmo/pngcanvas
- Owner: rcarmo
- License: mit
- Created: 2013-12-27T10:32:48.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2020-02-04T15:33:30.000Z (over 4 years ago)
- Last Synced: 2024-05-03T06:35:07.994Z (5 months ago)
- Language: Python
- Size: 85.9 KB
- Stars: 44
- Watchers: 9
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
pngcanvas
=========[![Build Status](https://travis-ci.org/rcarmo/pngcanvas.png?branch=master)](https://travis-ci.org/rcarmo/pngcanvas)
[![PyPI Version](https://img.shields.io/pypi/v/pngcanvas.svg)](https://pypi.python.org/pypi/pngcanvas/)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/rcarmo/pngcanvas.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rcarmo/pngcanvas/context:python)A minimalist library to render PNG images using pure Python inspired by [Thomas Fuchs'][madrobby] [spark_pr][spark_pr] library, originally published [here][tom] in 2005.
Given that I get a couple of mails about it every quarter or so, and that it's been consistently popular with the [Google App Engine][gae] crowd, I decided to release it under the MIT license and welcome any contributions towards speeding it up, cleaning it up and making it generally more useful.
So ping me if you want commit access (or just send me a pull request with any enhancements).
## Features
As it stands, you can do the following things with a `PNGCanvas` instance:
* Set single pixels
* Draw antialiased lines and polylines
* Draw rectangles (outlined and filled)
* Draw vertical gradients
* Copy (and blend) a rectangular segment of the image onto another location
* Save it as a PNG file
* Load a PNG file into it (with some restrictions)...all of it in pure Python.
[tom]: http://the.taoofmac.com/space/projects/PNGCanvas
[gae]: https://cloud.google.com/products/app-engine/
[madrobby]: https://github.com/madrobby
[spark_pr]: https://github.com/madrobby/spark_pr/blob/master/spark_pr.rb