Skip to content
Commits on Source (11)
# Created by .ignore support plugin (hsz.mobi)
### C++ template
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
### C template
# Prerequisites
# Object files
*.ko
*.elf
# Linker output
*.ilk
*.map
*.exp
# Precompiled Headers
# Libraries
# Shared objects (inc. Windows DLLs)
*.so.*
# Executables
*.i*86
*.x86_64
*.hex
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Kernel Module Compile Results
*.mod*
*.cmd
modules.order
Module.symvers
Mkfile.old
dkms.conf
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# dotenv
.env
# virtualenv
.venv
venv/
ENV/
# Spyder project settings
.spyderproject
# Rope project settings
.ropeproject
# PyCharm project settings
.idea/
# distutils MANIFEST
MANIFEST
language: python
env:
global:
# Set defaults to avoid repeating in most cases
- PYTHON_VERSION=$TRAVIS_PYTHON_VERSION
- NUMPY_VERSION=stable
- MAIN_CMD='python setup.py'
- CONDA_DEPENDENCIES='sphinx pillow coveralls coverage'
- SETUP_XVFB=False
- EVENT_TYPE='push pull_request'
- SETUP_CMD='test'
- CONDA_CHANNELS='conda-forge'
matrix:
include:
- os: linux
sudo: required
python: 2.7
- os: linux
sudo: required
python: 3.6
- os: osx
language: generic
env: PYTHON_VERSION=2.7
- os: osx
language: generic
env: PYTHON_VERSION=3.6
install:
- git clone --depth 1 git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda.sh
script:
- pip install -e .
- python selftest.py
deploy:
provider: pypi
user: dhoese
password:
secure: CYnfdweDHxSlPfks5YDZp9w4i5q4m/iUbIRrt37oHWhWVpnHa19yhk4BOBig5dAVJ5L/nYI/qz5bdE7NNubaXNnJTszhgK6RNRKg0LD80zliJxtCBXPnj8fvCgRKeQieiOurjyy4t0lEfeIVhEaEut9o3CuJXpONh9Zf8oL698Y=
on:
tags: true
repo: pytroll/aggdraw
python: 3.6
distributions: sdist
The Python Imaging Library: The aggdraw Module
*** Version 1.3.6 ***
- Fix Freetype linking on Linux with no freetype-config
*** Version 1.3.5 ***
- Fix Freetype linking on Windows by using ctypes
*** Changes from release 1.3.3 to 1.3.4 ***
- Fix Freetype linking on certain systems [#27]
*** Changes from release 1.3.2 to 1.3.3 ***
- Fix Windows compatibility [#25]
*** Changes from release 1.3.1 to 1.3.2 ***
- Fix segmentation fault with certain compilers [#22]
*** Changes from release 1.3 to 1.3.1 ***
- Fix Python 2 compatibility when getting RGB from string colors [#21]
- Re-add ability to get colors from PIL [#21]
*** Changes from release 1.2 to 1.3 ***
- Python 3 support added
- Use freetype-config to find root freetype directory
- REVIVE THE PROJECT!
*** Changes from release 1.1 to 1.2 ***
(1.2a3 released)
- Fixed crash when using type() or help() on aggdraw objects.
- Fixed crash in Path() constructor.
- Fixed some build issues under recent GCC versions. The compiler
still issues more warnings than it should; I'll have to fix that
in a future release.
(1.2a2 released)
- Changed 'expose' method to require keyword arguments. You can
use 'hwnd' to pass in a window handle, or 'hdc' to pass in a
device context:
dib.expose(hwnd=window)
dib.expose(hdc=dc)
- Added 'clear' method. By default, it fills the entire image to
the original background color. If you pass in a color name, it
uses the given color instead.
(1.2a1 released)
- Added experimental 'Dib' support (based on code from the Python
Imaging Library). The 'Dib' factory is similar to 'Draw', but
allows the drawing context to be copied to the display.
dib = Dib("RGB", size, background)
... draw ...
dib.expose(hwnd=wnd)
- Fixed a couple of gcc compiler nits.
*** Changes from release 1.0 to 1.1 ***
(1.1 released)
- Fixed rendering of symbols containing nested polygons (broken in
1.1b3).
- Added 'coords' method to the Path type. This returns the current
path as a polyline. If the path consists of multiple path fragments,
the return value is undefined. (experimental)
(1.1b3 released)
- The Windows installer now uses Freetype 2.1.10. This seems to fix
the issue with irregular baselines reported for some fonts.
- Performance: changes to how and when drawing adapters are created,
and proper clipping in the rasterizer can result in massive speedups
for some applications.
- Added experimental 'setantialias' method to the drawing context.
Pass in 0 to disable antialiasing, 1 to enable it. Antialiasing
is enabled by default.
- Adjust the size of filled objects (including polygons) depending
on the pen width. If no pen is used, filled antialiased objects
are expanded by a half pixel, to avoid banding. If a pen is used,
the objects are shrunk by a half pen width. (experimental)
(1.1b2 released; internal release only)
- Fixed background color bug for non-RGBA images. The third
argument to the Draw constructor now works properly for all
modes.
- Fixed big resource leak in the Draw(im) constructor. The alternate
form (Draw(mode, size)) does not leak (reported by H�kan Karlsson).
- Added Path object. Path objects can be used instead of coordinates
with the 'line' and 'polygon' primitives. Path objects can also be
used as symbols.
(1.1b1 released)
- Use ImageColor.getrgb to resolve colors, if available.
(1.0 final released)
# https://github.com/blog/2392-introducing-code-owners
# These owners will be the default owners for everything in the repo.
* @mraspaud @davidh-ssec
Metadata-Version: 1.2
Metadata-Version: 1.0
Name: aggdraw
Version: 1.3.7
Version: 1.2a3-20060212
Summary: High quality drawing interface for PIL.
Home-page: https://github.com/pytroll/aggdraw
Home-page: http://www.effbot.org/zone/aggdraw.htm
Author: Fredrik Lundh
Author-email: fredrik@pythonware.com
License: Python (MIT style)
......@@ -11,7 +11,6 @@ Description: The aggdraw module implements the basic WCK 2D Drawing Interface on
top of the AGG library. This library provides high-quality drawing,
with anti-aliasing and alpha compositing, while being fully compatible
with the WCK renderer.
Platform: Python 2.7 and later.
Platform: Python 2.1 and later.
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
The Anti-Grain Geometry Project
A high quality rendering engine for C++
http://antigrain.com
Anti-Grain Geometry - Version 2.0
Copyright (C) 2002 Maxim Shemanarev (McSeem)
Permission to copy, use, modify, sell and distribute this software
is granted provided this copyright notice appears in all copies.
This software is provided "as is" without express or implied
warranty, and with no claim as to its suitability for any purpose.
TODO: write compilation/installation stuff
Metadata-Version: 1.2
Name: aggdraw
Version: 1.3.7
Summary: High quality drawing interface for PIL.
Home-page: https://github.com/pytroll/aggdraw
Author: Fredrik Lundh
Author-email: fredrik@pythonware.com
License: Python (MIT style)
Download-URL: http://www.effbot.org/downloads#aggdraw
Description: The aggdraw module implements the basic WCK 2D Drawing Interface on
top of the AGG library. This library provides high-quality drawing,
with anti-aliasing and alpha compositing, while being fully compatible
with the WCK renderer.
Platform: Python 2.7 and later.
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
LICENSE.txt
MANIFEST.in
README.rst
aggdraw.cxx
setup.py
agg2/font_freetype/agg_font_freetype.cpp
agg2/font_freetype/agg_font_freetype.h
agg2/include/agg_alpha_mask_u8.h
agg2/include/agg_arc.h
agg2/include/agg_array.h
agg2/include/agg_arrowhead.h
agg2/include/agg_basics.h
agg2/include/agg_bezier_arc.h
agg2/include/agg_bitset_iterator.h
agg2/include/agg_bounding_rect.h
agg2/include/agg_bspline.h
agg2/include/agg_clip_liang_barsky.h
agg2/include/agg_color_rgba.h
agg2/include/agg_color_rgba8.h
agg2/include/agg_conv_adaptor_vcgen.h
agg2/include/agg_conv_adaptor_vpgen.h
agg2/include/agg_conv_bspline.h
agg2/include/agg_conv_clip_polygon.h
agg2/include/agg_conv_close_polygon.h
agg2/include/agg_conv_concat.h
agg2/include/agg_conv_contour.h
agg2/include/agg_conv_curve.h
agg2/include/agg_conv_dash.h
agg2/include/agg_conv_gpc.h
agg2/include/agg_conv_marker.h
agg2/include/agg_conv_marker_adaptor.h
agg2/include/agg_conv_segmentator.h
agg2/include/agg_conv_shorten_path.h
agg2/include/agg_conv_smooth_poly1.h
agg2/include/agg_conv_stroke.h
agg2/include/agg_conv_transform.h
agg2/include/agg_conv_unclose_polygon.h
agg2/include/agg_curves.h
agg2/include/agg_dda_line.h
agg2/include/agg_ellipse.h
agg2/include/agg_ellipse_bresenham.h
agg2/include/agg_embedded_raster_fonts.h
agg2/include/agg_font_cache_manager.h
agg2/include/agg_gamma_functions.h
agg2/include/agg_gamma_lut.h
agg2/include/agg_glyph_raster_bin.h
agg2/include/agg_gray8.h
agg2/include/agg_gsv_text.h
agg2/include/agg_image_filters.h
agg2/include/agg_line_aa_basics.h
agg2/include/agg_math.h
agg2/include/agg_path_storage.h
agg2/include/agg_path_storage_integer.h
agg2/include/agg_pattern_filters_rgba8.h
agg2/include/agg_pixfmt_amask_adaptor.h
agg2/include/agg_pixfmt_gray8.h
agg2/include/agg_pixfmt_rgb24.h
agg2/include/agg_pixfmt_rgb24_gamma.h
agg2/include/agg_pixfmt_rgb24_pre.h
agg2/include/agg_pixfmt_rgb555.h
agg2/include/agg_pixfmt_rgb565.h
agg2/include/agg_pixfmt_rgba32.h
agg2/include/agg_pixfmt_rgba32_plain.h
agg2/include/agg_pixfmt_rgba32_pre.h
agg2/include/agg_rasterizer_outline.h
agg2/include/agg_rasterizer_outline_aa.h
agg2/include/agg_rasterizer_scanline_aa.h
agg2/include/agg_render_scanlines.h
agg2/include/agg_renderer_base.h
agg2/include/agg_renderer_markers.h
agg2/include/agg_renderer_mclip.h
agg2/include/agg_renderer_outline_aa.h
agg2/include/agg_renderer_outline_image.h
agg2/include/agg_renderer_primitives.h
agg2/include/agg_renderer_raster_text.h
agg2/include/agg_renderer_scanline.h
agg2/include/agg_rendering_buffer.h
agg2/include/agg_rounded_rect.h
agg2/include/agg_scanline_bin.h
agg2/include/agg_scanline_boolean_algebra.h
agg2/include/agg_scanline_p.h
agg2/include/agg_scanline_storage_aa.h
agg2/include/agg_scanline_storage_bin.h
agg2/include/agg_scanline_u.h
agg2/include/agg_shorten_path.h
agg2/include/agg_simul_eq.h
agg2/include/agg_span_allocator.h
agg2/include/agg_span_converter.h
agg2/include/agg_span_generator.h
agg2/include/agg_span_gouraud.h
agg2/include/agg_span_gouraud_gray8.h
agg2/include/agg_span_gouraud_rgba8.h
agg2/include/agg_span_gouraud_rgba8_gamma.h
agg2/include/agg_span_gradient.h
agg2/include/agg_span_image_filter.h
agg2/include/agg_span_image_filter_rgb24.h
agg2/include/agg_span_image_filter_rgb24_gamma.h
agg2/include/agg_span_image_filter_rgba32.h
agg2/include/agg_span_interpolator_adaptor.h
agg2/include/agg_span_interpolator_linear.h
agg2/include/agg_span_interpolator_trans.h
agg2/include/agg_span_pattern.h
agg2/include/agg_span_pattern_rgb24.h
agg2/include/agg_span_pattern_rgba32.h
agg2/include/agg_span_solid.h
agg2/include/agg_trans_affine.h
agg2/include/agg_trans_bilinear.h
agg2/include/agg_trans_double_path.h
agg2/include/agg_trans_perspective.h
agg2/include/agg_trans_single_path.h
agg2/include/agg_trans_viewport.h
agg2/include/agg_trans_warp_magnifier.h
agg2/include/agg_vcgen_bspline.h
agg2/include/agg_vcgen_contour.h
agg2/include/agg_vcgen_dash.h
agg2/include/agg_vcgen_markers_term.h
agg2/include/agg_vcgen_smooth_poly1.h
agg2/include/agg_vcgen_stroke.h
agg2/include/agg_vcgen_vertex_sequence.h
agg2/include/agg_vertex_iterator.h
agg2/include/agg_vertex_sequence.h
agg2/include/agg_vpgen_clip_polygon.h
agg2/include/agg_vpgen_segmentator.h
agg2/include/ctrl/agg_cbox_ctrl.h
agg2/include/ctrl/agg_ctrl.h
agg2/include/ctrl/agg_gamma_ctrl.h
agg2/include/ctrl/agg_gamma_spline.h
agg2/include/ctrl/agg_rbox_ctrl.h
agg2/include/ctrl/agg_scale_ctrl.h
agg2/include/ctrl/agg_slider_ctrl.h
agg2/include/ctrl/agg_spline_ctrl.h
agg2/include/dbg_new/agg_dbg_new.h
agg2/include/platform/agg_platform_support.h
agg2/include/platform/mac/agg_mac_pmap.h
agg2/include/platform/win32/agg_win32_bmp.h
agg2/include/util/agg_color_conv.h
agg2/include/util/agg_color_conv_rgb8.h
agg2/src/agg_arc.cpp
agg2/src/agg_arrowhead.cpp
agg2/src/agg_bezier_arc.cpp
agg2/src/agg_bspline.cpp
agg2/src/agg_curves.cpp
agg2/src/agg_embedded_raster_fonts.cpp
agg2/src/agg_gsv_text.cpp
agg2/src/agg_image_filters.cpp
agg2/src/agg_line_aa_basics.cpp
agg2/src/agg_line_profile_aa.cpp
agg2/src/agg_path_storage.cpp
agg2/src/agg_rasterizer_scanline_aa.cpp
agg2/src/agg_rounded_rect.cpp
agg2/src/agg_sqrt_tables.cpp
agg2/src/agg_trans_affine.cpp
agg2/src/agg_trans_double_path.cpp
agg2/src/agg_trans_single_path.cpp
agg2/src/agg_trans_warp_magnifier.cpp
agg2/src/agg_vcgen_bspline.cpp
agg2/src/agg_vcgen_contour.cpp
agg2/src/agg_vcgen_dash.cpp
agg2/src/agg_vcgen_markers_term.cpp
agg2/src/agg_vcgen_smooth_poly1.cpp
agg2/src/agg_vcgen_stroke.cpp
agg2/src/agg_vpgen_clip_polygon.cpp
agg2/src/agg_vpgen_segmentator.cpp
agg2/src/ctrl/agg_cbox_ctrl.cpp
agg2/src/ctrl/agg_gamma_ctrl.cpp
agg2/src/ctrl/agg_gamma_spline.cpp
agg2/src/ctrl/agg_rbox_ctrl.cpp
agg2/src/ctrl/agg_scale_ctrl.cpp
agg2/src/ctrl/agg_slider_ctrl.cpp
agg2/src/ctrl/agg_spline_ctrl.cpp
agg2/src/dbg_new/agg_dbg_new.cpp
agg2/src/platform/BeOS/agg_platform_support.cpp
agg2/src/platform/X11/agg_platform_support.cpp
agg2/src/platform/mac/agg_mac_pmap.cpp
agg2/src/platform/mac/agg_platform_support.cpp
agg2/src/platform/sdl/agg_platform_support.cpp
agg2/src/platform/win32/agg_platform_support.cpp
agg2/src/platform/win32/agg_win32_bmp.cpp
aggdraw.egg-info/PKG-INFO
aggdraw.egg-info/SOURCES.txt
aggdraw.egg-info/dependency_links.txt
aggdraw.egg-info/top_level.txt
\ No newline at end of file
environment:
global:
PYTHON: "C:\\conda"
MINICONDA_VERSION: "latest"
CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci-helpers\\appveyor\\windows_sdk.cmd"
CONDA_DEPENDENCIES: "sphinx pillow coveralls coverage"
CONDA_CHANNELS: "conda-forge"
matrix:
- PYTHON: "C:\\Python27_32"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "32"
NUMPY_VERSION: "stable"
- PYTHON: "C:\\Python27_64"
PYTHON_VERSION: "2.7"
PYTHON_ARCH: "64"
NUMPY_VERSION: "stable"
- PYTHON: "C:\\Python36_32"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "32"
NUMPY_VERSION: "stable"
- PYTHON: "C:\\Python36_64"
PYTHON_VERSION: "3.6"
PYTHON_ARCH: "64"
NUMPY_VERSION: "stable"
install:
- "git clone --depth 1 git://github.com/astropy/ci-helpers.git"
- "powershell ci-helpers/appveyor/install-miniconda.ps1"
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- "activate test"
build: false # Not a C# project, build stuff at the test step instead.
test_script:
- "%CMD_IN_ENV% pip install -e ."
- "%CMD_IN_ENV% python selftest.py"
after_test:
# If tests are successful, create a whl package for the project.
- "%CMD_IN_ENV% python setup.py bdist_wheel bdist_wininst"
- ps: "ls dist"
artifacts:
# Archive the generated wheel package in the ci.appveyor.com build report.
- path: dist\*
#on_success:
# - TODO: upload the content of dist/*.whl to a public wheelhouse
#
aggdraw (1.3.7-1) unstable; urgency=low
aggdraw (1.3.7+ds-1) unstable; urgency=medium
* Initial release (Closes: #913943).
Python 2 version required for python-pycoast.
-- Antonio Valentino <antonio.valentino@tiscali.it> Sat, 17 Nov 2018 18:27:44 +0100
-- Antonio Valentino <antonio.valentino@tiscali.it> Sat, 17 Nov 2018 20:55:16 +0000
Source: aggdraw
Section: python
Priority: optional
Maintainer: Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org>
Uploaders: Antonio Valentino <antonio.valentino@tiscali.it>
Section: python
Testsuite: autopkgtest-pkg-python
Build-Depends: debhelper (>= 11), dh-python,
Priority: optional
Build-Depends: debhelper (>= 11),
dh-python,
python-all-dev,
python-setuptools,
python3-all-dev,
python3-setuptools,
libfreetype6-dev
libfreetype6-dev,
python-numpy,
python3-numpy,
python-pil,
python3-pil
Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/debian-gis-team/aggdraw
Vcs-Git: https://salsa.debian.org/debian-gis-team/aggdraw.git
......@@ -17,7 +22,9 @@ Homepage: https://github.com/pytroll/aggdraw
Package: python-aggdraw
Architecture: any
Depends: ${misc:Depends}, ${python:Depends}, ${shlibs:Depends},
Depends: ${misc:Depends},
${python:Depends},
${shlibs:Depends}
Recommends: ${python:Recommends}
Suggests: ${python:Suggests}
Description: High quality drawing interface for PIL - Python 2.X
......@@ -30,7 +37,9 @@ Description: High quality drawing interface for PIL - Python 2.X
Package: python3-aggdraw
Architecture: any
Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
Depends: ${misc:Depends},
${python3:Depends},
${shlibs:Depends}
Recommends: ${python3:Recommends}
Suggests: ${python3:Suggests}
Description: High quality drawing interface for PIL - Python 3.X
......
......@@ -2,6 +2,8 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: aggdraw
Upstream-Contact: Fredrik Lundh <fredrik@pythonware.com>
Source: https://github.com/pytroll/aggdraw
Files-Excluded: */.svn
Comment: unnecessary VCS directories
Files: *
Copyright: 2011-2018 AggDraw Developers
......@@ -9,13 +11,13 @@ Copyright: 2011-2018 AggDraw Developers
2003-2006 Fredrik Lundh
2002-2004 Maxim Shemanarev (http:www.antigrain.com)
2003 Hansruedi Baer (MacOS support)
License: Expat
License: aggdraw
Files: debian/*
Copyright: 2018 © Antonio Valentino <antonio.valentino@tiscali.it>
License: Expat
Copyright: 2018 Antonio Valentino <antonio.valentino@tiscali.it>
License: aggdraw
License: Expat
License: aggdraw
The aggdraw interface, and associated modules and documentation are:
.
Copyright (c) 2011-2018 by AggDraw Developers
......
......@@ -5,8 +5,13 @@
# Enable hardening build flags
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export PYBUILD_NAME=aggdraw
export PYBUILD_NAME=aggdraw
%:
dh $@ --with python2,python3 --buildsystem=pybuild
override_dh_auto_test:
PYBUILD_SYSTEM=custom \
PYBUILD_TEST_ARGS="env PYTHONPATH={build_dir} python{version} selftest.py -v" \
dh_auto_test
extend-diff-ignore="^[^/]+.egg-info/"
# try also https://pypi.debian.net/aggdraw/watch
version=3
opts=uversionmangle=s/(rc|a|b|c)/~$1/ \
https://pypi.debian.net/aggdraw/aggdraw-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
version=4
opts=\
repacksuffix=+ds,repack,dversionmangle=s/\+ds\d*$//,filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/aggdraw-$1\.tar\.gz/ \
https://github.com/pytroll/aggdraw/releases .*/v?(\d\S+)\.tar\.gz
# $Id$
# -*- coding: iso-8859-1 -*-
# sanity check
import numpy as np
from PIL import Image
import aggdraw
from aggdraw import Draw, Symbol, Brush, Pen, Path
def test_module_init():
"""
>>> assert hasattr(aggdraw, 'VERSION')
>>> assert isinstance(aggdraw.VERSION, str)
>>> assert hasattr(aggdraw, '__version__')
>>> assert isinstance(aggdraw.__version__, str)
"""
def test_draw():
"""
>>> draw = Draw("RGB")
Traceback (most recent call last):
AttributeError: 'str' object has no attribute 'mode'
>>> draw = Draw("RGB", (800, 600))
>>> draw.mode, draw.size
('RGB', (800, 600))
>>> draw = Draw("RGB", (800, 600), "white")
>>> draw.mode, draw.size
('RGB', (800, 600))
>>> im = Image.new("RGB", (600, 800))
>>> draw = Draw(im)
>>> draw.mode, draw.size
('RGB', (600, 800))
"""
def test_flush():
"""
>>> im = Image.new("RGB", (600, 800))
>>> draw = Draw(im)
>>> draw.flush().mode
'RGB'
"""
def test_pen():
"""
>>> pen = Pen("black")
>>> pen = Pen("black", 1)
>>> pen = Pen("black", 1.5)
>>> pen = Pen("black", 1, opacity=128)
>>> pen = Pen(0)
>>> pen = Pen((0,0,0))
>>> pen = Pen("rgb(0,0,0)")
>>> pen = Pen("gold")
"""
def test_brush():
"""
>>> brush = Brush("black")
>>> brush = Brush("black", opacity=128)
>>> brush = Brush(0)
>>> brush = Brush((0,0,0))
>>> brush = Brush("rgb(0,0,0)")
>>> brush = Brush("gold")
"""
def test_graphics():
"""
>>> draw = Draw("RGB", (500, 500))
>>> pen = Pen("black")
>>> brush = Brush("black")
>>> draw.line((50, 50, 100, 100), pen)
>>> draw.rectangle((50, 150, 100, 200), pen)
>>> draw.rectangle((50, 220, 100, 270), brush)
>>> draw.rectangle((50, 290, 100, 340), brush, pen)
>>> draw.rectangle((50, 360, 100, 410), pen, brush)
>>> draw.ellipse((120, 150, 170, 200), pen)
>>> draw.ellipse((120, 220, 170, 270), brush)
>>> draw.ellipse((120, 290, 170, 340), brush, pen)
>>> draw.ellipse((120, 360, 170, 410), pen, brush)
>>> draw.polygon((190+25, 150, 190, 200, 190+50, 200), pen)
>>> draw.polygon((190+25, 220, 190, 270, 190+50, 270), brush)
>>> draw.polygon((190+25, 290, 190, 340, 190+50, 340), brush, pen)
>>> draw.polygon((190+25, 360, 190, 410, 190+50, 410), pen, brush)
"""
def test_graphics2():
"""See issue #14
>>> symbol = Symbol("M400 200 L400 400")
>>> pen = Pen("red")
>>> image = Image.fromarray(np.zeros((800, 600, 3)), mode="RGB")
>>> canvas = Draw(image)
>>> canvas.symbol((0, 0), symbol, pen)
>>> image_pointer = canvas.flush()
>>> assert np.asarray(image).sum() == 50800
"""
def test_graphics3():
"""See issue #22
>>> main = Image.new('RGB', (480, 1024), 'white')
>>> d = aggdraw.Draw(main)
>>> p = aggdraw.Pen((90,) * 3, 0.5)
"""
def test_path():
"""
>>> p = Path()
>>> p = Path([0,0])
>>> p = Path([0,0,0,0])
>>> p = Path()
>>> p.moveto(0, 0)
>>> p.lineto(1, 1)
>>> p.coords()
[0.0, 0.0, 1.0, 1.0]
>>> p.curveto(0, 0, 0, 0, 0, 0)
>>> p.close()
>>> p.coords()
[0.0, 0.0, 1.0, 1.0, 0.125, 0.125, 0.0, 0.0]
>>> draw = Draw("RGB", (800, 600))
>>> draw.line(p)
>>> draw.polygon(p)
>>> draw.symbol((0, 0), p)
"""
def test_symbol():
"""
>>> s = Symbol("M0,0L0,0L0,0L0,0Z")
>>> s = Symbol("M0,0L0,0,0,0,0,0Z", 10)
>>> s = Symbol("M0,0C0,0,0,0,0,0Z")
>>> s = Symbol("M0,0S0,0,0,0,0,0Z")
>>> s = Symbol("m0,0l0,0l0,0l0,0z")
>>> s = Symbol("m0,0l0,0,0,0,0,0z", 10)
>>> s = Symbol("m0,0c0,0,0,0,0,0z")
>>> s = Symbol("m0,0s0,0,0,0,0,0z")
"""
def test_transform():
"""
>>> draw = Draw("RGB", (500, 500))
>>> draw.settransform()
>>> draw.settransform((250, 250))
>>> draw.settransform((1, 0, 250, 0, 1, 250))
>>> draw.settransform((2.0, 0.5, 250, 0.5, 2.0, 250))
>>> draw.settransform()
"""
if __name__ == "__main__":
# use doctest to make sure the test program behaves as documented!
import sys, doctest, selftest
status = doctest.testmod(selftest)
if status[0]:
print("*** %s tests of %d failed." % status)
else:
print("%s tests passed." % status[1])
sys.exit(int(status[0]))
[egg_info]
tag_build =
tag_date = 0