Source code for design.borders

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
borders
-------

Functions for creating border pattern graphics.
"""


from math import pi

from colors import rgb
from PIL import Image, ImageDraw

try:
    import cairo
except ImportError:
    import cairocffi as cairo


[docs]def circles_pil(width, height, color): """ Implementation of circle border with PIL. """ image = Image.new("RGBA", (width, height), color=None) draw = ImageDraw.Draw(image) draw.ellipse((0, 0, width - 1, height - 1), fill=color) image.save('circles.png')
[docs]def circles_pycairo(width, height, color): """ Implementation of circle border with PyCairo. """ cairo_color = color / rgb(255, 255, 255) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height) ctx = cairo.Context(surface) # draw a circle in the center ctx.new_path() ctx.set_source_rgb(cairo_color.red, cairo_color.green, cairo_color.blue) ctx.arc(width / 2, height / 2, width / 2, 0, 2 * pi) ctx.fill() surface.write_to_png('circles.png')
[docs]def circles(width=12, height=12, color=rgb(255, 255, 255)): """ Draws a repeatable circle border pattern. """ circles_pycairo(width, height, color)
if __name__ == '__main__': circles()