Created ellipse and box designes with necessary features that were missing
This commit is contained in:
parent
31f712a93f
commit
c7522535ea
2 changed files with 45 additions and 0 deletions
32
Calendar/BoxDesign.py
Normal file
32
Calendar/BoxDesign.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
from DesignEntity import DesignEntity
|
||||||
|
from PIL import ImageDraw, ImageOps
|
||||||
|
|
||||||
|
class BoxDesign (DesignEntity):
|
||||||
|
"""Redefinition of ImageDraw.Draw.Rectangle"""
|
||||||
|
def __init__(self, size, fill=None, outline=None, width=0):
|
||||||
|
super(BoxDesign, self).__init__((size[0]+1, size[1]+1))
|
||||||
|
self.size = size
|
||||||
|
self.__define_corners__()
|
||||||
|
self.fill = fill
|
||||||
|
self.outline = outline
|
||||||
|
self.width = width
|
||||||
|
self.is_bitmap = True
|
||||||
|
|
||||||
|
def __define_corners__(self):
|
||||||
|
topleft = (0,0)
|
||||||
|
topright = (self.size[0], 0)
|
||||||
|
bottomleft = (0, self.size[1])
|
||||||
|
bottomright = self.size
|
||||||
|
self.corners = [topleft, topright, bottomright, bottomleft]
|
||||||
|
|
||||||
|
def __finish_image__ (self):
|
||||||
|
for i in range(self.width):
|
||||||
|
ImageDraw.Draw(self.__image__).polygon(self.__get_reduced_corners__(i), fill=self.fill, outline=self.outline)
|
||||||
|
self.__image__ = ImageOps.invert(self.__image__)
|
||||||
|
|
||||||
|
def __get_reduced_corners__(self, reducer):
|
||||||
|
topleft = (reducer, reducer)
|
||||||
|
topright = (self.size[0] - reducer, reducer)
|
||||||
|
bottomleft = (reducer, self.size[1] - reducer)
|
||||||
|
bottomright = (self.size[0] - reducer, self.size[1] - reducer)
|
||||||
|
return [topleft, topright, bottomright, bottomleft]
|
13
Calendar/EllipseDesign.py
Normal file
13
Calendar/EllipseDesign.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
from BoxDesign import BoxDesign
|
||||||
|
from PIL import ImageDraw, ImageOps
|
||||||
|
|
||||||
|
class EllipseDesign (BoxDesign):
|
||||||
|
"""Redefinition of ImageDraw.Draw.Rectangle"""
|
||||||
|
def __init__(self, size, fill=None, outline=None, width=0):
|
||||||
|
super(EllipseDesign, self).__init__(size, fill=fill, outline=outline, width=width)
|
||||||
|
|
||||||
|
def __finish_image__ (self):
|
||||||
|
for i in range(self.width):
|
||||||
|
corners = self.__get_reduced_corners__(i)
|
||||||
|
ImageDraw.Draw(self.__image__).ellipse([corners[0], corners [2]], fill=self.fill, outline=self.outline)
|
||||||
|
self.__image__ = ImageOps.invert(self.__image__)
|
Loading…
Reference in a new issue