def get_text_size(self, text, font_name=None, font_size=None): ''' size of text string in user coordinates ''' if font_size is None: font_size = self.font_size if font_name is None: font_name = self.font_name return self.whUser(*canvas.get_text_size(text, font_name, font_size))
def drawNumbers2(): for i in range(12): canvas.save_gstate() canvas.translate(centerX, centerY) canvas.rotate(-2 * pi / 12.0 * i) canvas.set_fill_color(0.3, 0.3, 0.3, 0.6) fontSize = 30 fontName = 'Helvetica-Bold' number = str(12 if i == 0 else i) width, height = canvas.get_text_size(number, fontName, fontSize) canvas.draw_text(number, -width/2, 115, fontName, fontSize) canvas.restore_gstate()
def drawNumbers(): for i in range(12): canvas.save_gstate() canvas.set_fill_color(0.3, 0.3, 0.3, 0.6) fontSize = 30 fontName = 'Helvetica-Bold' number = str(12 if i == 0 else i) width, height = canvas.get_text_size(number, fontName, fontSize) hour = i angle = -2 * pi / 12.0 * (hour - 3) length = clockWidth * 0.43 rads = radians(angle) x = int(cos(angle) * length) + centerX y = int(sin(angle) * length) + centerY canvas.draw_text(number, x - width/2, y - height/2, fontName, fontSize) canvas.restore_gstate()
def draw_label(s, x, y): fs = 30 fnt = 'Helvetica-Bold' w, h = canvas.get_text_size(str(s), fnt, fs) canvas.set_fill_color(0,0,0) canvas.draw_text(str(s), x - w / 2, y - h / 2, fnt, fs)