Spaces:
Sleeping
Sleeping
File size: 1,224 Bytes
598008a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
from PIL import Image, ImageDraw
import math
import numpy as np
from canvas import *
def _re_coord(point,x=c_length/2,y=c_height/2):
return (point[0]+x, y-point[1])
def _back_coord(point):
return (point[0]-c_length/2, c_height/2-point[1])
def circle_c_r(center, radiu, fill = None, color = (0,0,0), width = 1):
ce = _re_coord(center)
p1 = (ce[0]- radiu/math.sqrt(2), ce[1] - radiu/math.sqrt(2))
p2 = (ce[0]+ radiu/math.sqrt(2), ce[1] + radiu/math.sqrt(2))
draw.pieslice([p1,p2], start=0, end=360, fill=fill, outline=color, width=width)
data = {'center':center,
'radiu':radiu,
'arc':math.pi*2*radiu}
return data
def circle_draw(point, diameter, angle=0, fill = None, color = (0,0,0), width = 1):
po = _re_coord(point); radiu = diameter/2
x_e = radiu * math.cos(-angle); y_e = radiu*math.sin(-angle)
ce = (po[0]-x_e, po[1]-y_e)
p1 = (ce[0]- radiu/math.sqrt(2), ce[1] - radiu/math.sqrt(2))
p2 = (ce[0]+ radiu/math.sqrt(2), ce[1] + radiu/math.sqrt(2))
draw.pieslice([p1,p2], start=0, end=360, fill=fill, outline=color, width=width)
data = {'center':_back_coord(ce),
'radiu':radiu,
'arc':math.pi*2*radiu}
return data
|