small-painter.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:story-card-painter 作者: Cloudist 项目源码 文件源码
def __paint_story_card(self, story):
        self.story_count += 1

        if self.story_count % 4 == 1 and self.story_count > 1:
            self.canvas.showPage()

        x0, y0 = self.get_origin(self.story_count)
        sx, sy = self.get_size()

        # background
        self.canvas.setFillGray(self.lite_gray)
        self.canvas.setLineWidth(2)
        self.canvas.setStrokeGray(self.black)
        self.canvas.rect(x0, y0, sx, sy, stroke=1, fill=1)
        self.canvas.setLineWidth(1)

        style = ParagraphStyle('normal', fontName=self.fontname, fontSize=18, leading=24, textColor=[self.white]*3)

        # How to demo
        self.canvas.setFillGray(self.gray)
        self.canvas.rect(x0+1, y0+101, sx-2, 80, stroke=0, fill=1)
        self.canvas.setFillGray(self.white)
        text = [Paragraph(story.demo, style)]
        text_inframe = KeepInFrame(sx-2, 80, text)
        frame = Frame(x0+1, y0+101, sx-2, 80)
        frame.addFromList([text_inframe], self.canvas)

        # Notes
        self.canvas.setFillGray(self.gray)
        self.canvas.rect(x0+1, y0+1, sx-2, 80, stroke=0, fill=1)
        self.canvas.setFillGray(self.white)
        text = [Paragraph(story.notes, style)]
        text_inframe = KeepInFrame(sx-2, 80, text)
        frame = Frame(x0+1, y0+1, sx-2, 80)
        frame.addFromList([text_inframe], self.canvas)

        # ID
        self.canvas.setFillGray(self.black)
        self.canvas.rect(x0, y0+248, 50, 30, stroke=0, fill=1)
        self.setFontSize(20)
        self.canvas.setFillGray(self.lite_gray)
        self.canvas.drawString(x0+6, y0+256, '#%s' % story.sid)

        self.setFontSize(13)
        self.canvas.setFillGray(self.gray)
        self.canvas.drawString(x0+6, y0+185, 'How to demo')
        self.canvas.drawString(x0+6, y0+85, 'Notes')

        # Name
        style = ParagraphStyle('normal', fontName=self.fontname, fontSize=28,
                               leading=29, textColor=[self.black]*3)
        text = [Paragraph(story.name, style)]
        text_inframe = KeepInFrame(sx, 47, text)
        frame = Frame(x0, y0+201, sx, 47)
        frame.addFromList([text_inframe], self.canvas)

        # Estimate
        self.canvas.setFillGray(self.gray)
        self.setFontSize(16)
        self.canvas.drawString(x0+344, y0+256, 'Est: %s' % story.est)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号