當前位置: 首頁>>代碼示例>>Python>>正文


Python ImageFont.truetype方法代碼示例

本文整理匯總了Python中PIL.ImageFont.truetype方法的典型用法代碼示例。如果您正苦於以下問題:Python ImageFont.truetype方法的具體用法?Python ImageFont.truetype怎麽用?Python ImageFont.truetype使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在PIL.ImageFont的用法示例。


在下文中一共展示了ImageFont.truetype方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: displayImageFileOnLCD

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def displayImageFileOnLCD(filename):
    print 'displays ', filename
    title = 'Review Mode'
    # resize/dither to screen resolution and send to LCD
    image = Image.open(filename)
    im_width, im_height = image.size
    if im_width < im_height:
        image = image.rotate(90)
    image.thumbnail(S_SIZE, Image.ANTIALIAS)
    image_sized = Image.new('RGB', S_SIZE, (0, 0, 0))
    image_sized.paste(image,((S_SIZE[0] - image.size[0]) / 2, (S_SIZE[1] - image.size[1]) / 2))
    # draw filename
    draw = ImageDraw.Draw(image_sized)
    font = ImageFont.truetype('arial.ttf', 18)
    draw.rectangle([(0, 0), (115, 22)], fill=(255,255,255), outline=(0,0,0))
    draw.text((2, 2), title, fill='black', font=font)
    draw.rectangle([(279, 217), (399, 239)], fill=(255,255,255), outline=(0,0,0))
    draw.text((290, 218), filename, fill='black', font=font)
    # display on LCD
    image_sized = ImageOps.invert(image_sized)
    image_sized = image_sized.convert('1') # convert image to black and white
    lcd.write(image_sized.tobytes()) 
開發者ID:pierre-muth,項目名稱:polapi-zero,代碼行數:24,代碼來源:polapizero_03.py

示例2: create_image_from_text

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def create_image_from_text(in_text):
    colours = (255, 255, 250)
    font_file = '/usr/share/fonts/truetype/freefont/FreeSansBold.ttf'
    font_size = 12
    font = ImageFont.truetype(font_file, font_size)
    w, h = font.getsize(in_text)

    text_x, text_y = width, 0
    text_width, text_height = width, 0

    text_width += w + width                # add some padding so the ip scrolls off the unicorn hat
    text_height = max(text_height, h, 16)  # no more than the size of the unicorn hat

    image = Image.new('RGB', (text_width, text_height), (0, 0, 0))
    draw = ImageDraw.Draw(image)
    draw.text((text_x, text_y), in_text, colours, font=font)
    return (image, text_width)


# DISPLAY 
開發者ID:pimoroni,項目名稱:unicorn-hat-hd,代碼行數:22,代碼來源:show_my_ip.py

示例3: draw_text

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def draw_text(
    img: Image,
    text: str,
    location: tuple = (0, 0),
    text_color=(0, 0, 0)
) -> Image:
    draw = ImageDraw.Draw(img)

    try:
        # For Linux
        font = ImageFont.truetype("DejaVuSans.ttf", 20)
    except Exception:
        logger.warning("No font DejaVuSans; use default instead")
        # For others
        font = ImageFont.load_default()
    draw.text(location, text, font=font, fill=text_color)
    return img 
開發者ID:amjltc295,項目名稱:PythonHomework,代碼行數:19,代碼來源:utils.py

示例4: draw

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def draw(self, image):
        
        fontpath = FONTPATH[ random.sample(range(2),1)[0] ] 
        color = (self.color[0], self.color[1], self.color[2], 255)
        font = ImageFont.truetype( fontpath , randint(25, 27) * 10)
        text = Image.new("RGBA", (250, 300), (0, 0, 0, 0))
        textdraw = ImageDraw.Draw(text)
        
        textdraw.text((0, 0), str(self.number), font=font, fill=color)
        #textdraw.text((0, 0), 'j', font=font, fill=color)

        text = text.rotate(self.angle, expand=True)
        text = text.resize((int(text.size[0] / 10), int(text.size[1] / 10)))
        base = int(self.priority * (200 / 6))
        rand_min = (self.offset - base - 2) if (self.offset - base - 2) >= -15 else -15
        rand_min = 0 if self.priority == 0 else rand_min
        rand_max = (33 - text.size[0]) if self.priority == 5 else (33 - text.size[0] + 10)
        try:
            displace = randint(rand_min, rand_max)
        except:
            displace = rand_max
        location = (base + displace, randint(3, 23))
        self.next_offset = location[0] + text.size[0]
        image.paste(text, location, text)
        # plt.imshow(image) 
開發者ID:linsamtw,項目名稱:TaiwanTrainVerificationCode2text,代碼行數:27,代碼來源:work_vcode.py

示例5: make_photo

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def make_photo(self, dir_):
        """生成驗證碼

        :param dir_: 存放驗證碼照片的文件夾
        """
        from PIL import Image  # 安裝pillow: pip install pillow
        from PIL import ImageFont
        from PIL import ImageDraw
        from PIL import ImageFilter
        image = Image.new('RGB', (self.width, self.height), (255, 255, 255))
        font = ImageFont.truetype('arial.ttf', 36)

        draw = ImageDraw.Draw(image)
        for w in range(self.width):
            for h in range(self.height):
                draw.point((w, h), fill=self.color1())
        for index, t in enumerate(self.flag):
            draw.text(((self.width - 10) // self.number * index + 10, 10), t, font=font, fill=self.color2())
        image = image.filter(ImageFilter.BLUR)
        image.save(dir_ + sep + ''.join(self.flag) + '.jpg', 'jpeg')
        return image 
開發者ID:jtyoui,項目名稱:Jtyoui,代碼行數:23,代碼來源:captcha.py

示例6: drawCaption

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def drawCaption(img, caption):
    img_txt = Image.fromarray(img)
    # get a font
    fnt = ImageFont.truetype('Pillow/Tests/fonts/FreeMono.ttf', 50)
    # get a drawing context
    d = ImageDraw.Draw(img_txt)

    # draw text, half opacity
    d.text((10, 256), 'Stage-I', font=fnt, fill=(255, 255, 255, 255))
    d.text((10, 512), 'Stage-II', font=fnt, fill=(255, 255, 255, 255))
    if img.shape[0] > 832:
        d.text((10, 832), 'Stage-I', font=fnt, fill=(255, 255, 255, 255))
        d.text((10, 1088), 'Stage-II', font=fnt, fill=(255, 255, 255, 255))

    idx = caption.find(' ', 60)
    if idx == -1:
        d.text((256, 10), caption, font=fnt, fill=(255, 255, 255, 255))
    else:
        cap1 = caption[:idx]
        cap2 = caption[idx+1:]
        d.text((256, 10), cap1, font=fnt, fill=(255, 255, 255, 255))
        d.text((256, 60), cap2, font=fnt, fill=(255, 255, 255, 255))

    return img_txt 
開發者ID:hanzhanggit,項目名稱:StackGAN,代碼行數:26,代碼來源:demo.py

示例7: drawCaption

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def drawCaption(self, img, caption):
        img_txt = Image.fromarray(img)
        # get a font
        fnt = ImageFont.truetype('Pillow/Tests/fonts/FreeMono.ttf', 50)
        # get a drawing context
        d = ImageDraw.Draw(img_txt)

        # draw text, half opacity
        d.text((10, 256), 'Stage-I', font=fnt, fill=(255, 255, 255, 255))
        d.text((10, 512), 'Stage-II', font=fnt, fill=(255, 255, 255, 255))
        if img.shape[0] > 832:
            d.text((10, 832), 'Stage-I', font=fnt, fill=(255, 255, 255, 255))
            d.text((10, 1088), 'Stage-II', font=fnt, fill=(255, 255, 255, 255))

        idx = caption.find(' ', 60)
        if idx == -1:
            d.text((256, 10), caption, font=fnt, fill=(255, 255, 255, 255))
        else:
            cap1 = caption[:idx]
            cap2 = caption[idx+1:]
            d.text((256, 10), cap1, font=fnt, fill=(255, 255, 255, 255))
            d.text((256, 60), cap2, font=fnt, fill=(255, 255, 255, 255))

        return img_txt 
開發者ID:hanzhanggit,項目名稱:StackGAN,代碼行數:26,代碼來源:trainer.py

示例8: render_idn

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def render_idn(text, font_name, font_size):
    width = 500
    height = 100
    bgcolor = (255, 255, 255, 255)
    color = (0,0,0, 255)

    image = Image.new("RGBA", (width, height), bgcolor)
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype(font_name, font_size, encoding="unic")

    draw.text((0, 0), text, font=font, fill=color)

    out_file = tempfile.NamedTemporaryFile(suffix=".png")
    image.save(out_file.name)

    return out_file 
開發者ID:trailofbits,項目名稱:deceptiveidn,代碼行數:18,代碼來源:deceptiveidn.py

示例9: get_font_size

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def get_font_size(size, font_file, text):
    """
    指定したテキストを畫像に配置する時にいい感じのフォントサイズを返す

    :params size: 畫像の幅と高さの短い方
    :params font_file: フォントファイルのフルパス
    :params text: 描畫する文字列(LGTM等)
    :return: フォントサイズ
    """
    # フォントのサイズを5ポイント刻みで大きくする
    for font_size in range(10, 200, 5):
        font = ImageFont.truetype(font_file, font_size, encoding="utf-8")
        # テキストの描畫サイズを取得
        width, height = font.getsize(text)
        # テキストの幅が、畫像の短い方の半分のサイズを越えたら終了
        if width > size / 2:
            break
    return font_size 
開發者ID:pyconjp,項目名稱:pyconjpbot,代碼行數:20,代碼來源:lgtm.py

示例10: find_font_size

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def find_font_size(draw, text_lines, max_width, max_height, spacing):
    # start with a default font size that should be large enough to be too large
    font_size = 35

    # reload the font until the word fits or the font size would be too small
    while True:
        font = ImageFont.truetype(random.choice(FONTS), size=font_size, encoding='unic')
        text_width, text_height = draw.multiline_textsize(text_lines, font, spacing=spacing)

        if text_width <= max_width and text_height <= max_height:
            return font, (text_width, text_height)

        font_size -= 1

        if font_size <= 1:
            raise ValueError('Can not draw Text on given image') 
開發者ID:Bartzi,項目名稱:stn-ocr,代碼行數:18,代碼來源:render_text_on_signs.py

示例11: __init__

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def __init__(self, base_font_ttf: str, font_size: int):
        self.font_name = base_font_ttf if not base_font_ttf.endswith('.ttf') else base_font_ttf[:-4]

        self.default_font = Font(ImageFont.truetype(self.font_name + '.ttf', size=font_size))

        def font_or_default(ttf):
            try:
                return Font(ImageFont.truetype(ttf, size=font_size))
            except OSError:
                print("Error loading font {}. Using default font.".format(ttf))
                return self.default_font

        self.variants = [
            self.default_font,
            font_or_default(self.font_name + '-Bold.ttf'),
            font_or_default(self.font_name + '-Italic.ttf'),
            font_or_default(self.font_name + '-BoldItalic.ttf'),
        ] 
開發者ID:Calamari-OCR,項目名稱:calamari,代碼行數:20,代碼來源:line_generator.py

示例12: main

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def main():
    epd = epd7in5.EPD()
    epd.init()

    # For simplicity, the arguments are explicit numerical coordinates
    image = Image.new('1', (EPD_WIDTH, EPD_HEIGHT), 1)    # 1: clear the frame
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 24)
    draw.rectangle((0, 6, 640, 30), fill = 0)
    draw.text((200, 10), 'e-Paper demo', font = font, fill = 255)
    draw.rectangle((200, 80, 600, 280), fill = 0)
    draw.arc((240, 120, 580, 220), 0, 360, fill = 255)
    draw.rectangle((0, 80, 160, 280), fill = 255)
    draw.arc((40, 80, 180, 220), 0, 360, fill = 0)
    epd.display_frame(epd.get_frame_buffer(image))

    image = Image.open('monocolor.bmp')
    epd.display_frame(epd.get_frame_buffer(image))

    # You can get frame buffer from an image or import the buffer directly:
    #epd.display_frame(imagedata.MONOCOLOR_BITMAP) 
開發者ID:soonuse,項目名稱:epd-library-python,代碼行數:23,代碼來源:main.py

示例13: main

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def main():
    epd = epd4in2.EPD()
    epd.init()

    # For simplicity, the arguments are explicit numerical coordinates
    image = Image.new('1', (EPD_WIDTH, EPD_HEIGHT), 1)    # 1: clear the frame
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 24)
    draw.rectangle((0, 6, 400, 30), fill = 0)
    draw.text((100, 10), 'e-Paper demo', font = font, fill = 255)
    draw.rectangle((200, 80, 360, 280), fill = 0)
    draw.arc((240, 80, 380, 220), 0, 360, fill = 255)
    draw.rectangle((0, 80, 160, 280), fill = 255)
    draw.arc((40, 80, 180, 220), 0, 360, fill = 0)
    
    epd.display_frame(epd.get_frame_buffer(image))

    image = Image.open('monocolor.bmp')
    epd.display_frame(epd.get_frame_buffer(image))

    # You can get frame buffer from an image or import the buffer directly:
    #epd.display_frame(imagedata.MONOCOLOR_BITMAP) 
開發者ID:soonuse,項目名稱:epd-library-python,代碼行數:24,代碼來源:main.py

示例14: main

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def main():
    epd = epd7in5b.EPD()
    epd.init()

    # For simplicity, the arguments are explicit numerical coordinates
    image = Image.new('L', (EPD_WIDTH, EPD_HEIGHT), 255)    # 255: clear the frame
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 24)
    draw.rectangle((0, 6, 640, 40), fill = 127)
    draw.text((200, 10), 'e-Paper demo', font = font, fill = 255)
    draw.rectangle((200, 80, 600, 280), fill = 127)
    draw.chord((240, 120, 580, 220), 0, 360, fill = 255)
    draw.rectangle((20, 80, 160, 280), fill = 0)
    draw.chord((40, 80, 180, 220), 0, 360, fill = 127)
    epd.display_frame(epd.get_frame_buffer(image))

    image = Image.open('640x384.bmp')
    epd.display_frame(epd.get_frame_buffer(image))

    # You can get frame buffer from an image or import the buffer directly:
    #epd.display_frame(imagedata.MONOCOLOR_BITMAP) 
開發者ID:soonuse,項目名稱:epd-library-python,代碼行數:23,代碼來源:main.py

示例15: main

# 需要導入模塊: from PIL import ImageFont [as 別名]
# 或者: from PIL.ImageFont import truetype [as 別名]
def main():
    epd = epd2in7.EPD()
    epd.init()

    # For simplicity, the arguments are explicit numerical coordinates
    image = Image.new('1', (epd2in7.EPD_WIDTH, epd2in7.EPD_HEIGHT), 255)    # 255: clear the image with white
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 18)
    draw.text((20, 50), 'e-Paper demo', font = font, fill = 0)
    draw.rectangle((0, 76, 176, 96), fill = 0)
    draw.text((18, 80), 'Hello world!', font = font, fill = 255)
    draw.line((10, 130, 10, 180), fill = 0)
    draw.line((10, 130, 50, 130), fill = 0)
    draw.line((50, 130, 50, 180), fill = 0)
    draw.line((10, 180, 50, 180), fill = 0)
    draw.line((10, 130, 50, 180), fill = 0)
    draw.line((50, 130, 10, 180), fill = 0)
    draw.arc((90, 190, 150, 250), 0, 360, fill = 0)
    draw.chord((90, 120, 150, 180), 0, 360, fill = 0)
    draw.rectangle((10, 200, 50, 250), fill = 0)

    epd.display_frame(epd.get_frame_buffer(image))

    # display images
    epd.display_frame(epd.get_frame_buffer(Image.open('monocolor.bmp'))) 
開發者ID:soonuse,項目名稱:epd-library-python,代碼行數:27,代碼來源:main.py


注:本文中的PIL.ImageFont.truetype方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。