❤️馬上七夕,不懂浪漫?帶你用Python“碼”上七夕【建議收藏】❤️

專注的阿熊發表於2022-08-26

from wordcloud import WordCloud

import wordcloud

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from PIL import Image, ImageDraw, ImageFont

# 解決讀取圖片報錯

from PIL import ImageFile

ImageFile.LOAD_TRUNCATED_IMAGES = True

import os

# 獲取背景文字

def gen_text_img(text, font_size, font_path=None):

     '''

     輸入:

     text :照片牆的樣式文字

     font_size :字型的大小

     font_path :字型

     返回:

     文字影像

     '''

     font = ImageFont.truetype(font_path, font_size)

     (width, length) = font.getsize(text)

     text_img = Image.new('RGB', (width + 100, length+100), color='white')

     draw = ImageDraw.Draw(text_img)

     # 從左上角開始繪製,每次調整位置用於加粗字型

     for i in range(100):

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

     text_img.save('background.png')

     return text_img

def word_cloud(img, word, font_path=None):

     wc_mask =跟單網gendan5.com np.array(Image.open('background.png'))

     wc = wordcloud.WordCloud(

         # 設定字型格式

         font_path=font_path,

         # 設定背景圖

         mask=wc_mask,

         # 最多顯示詞數

         max_words=200,

         # 字型最大值

         max_font_size=320,

         # 整體背景色

         background_color='White',

         # 詞雲的邊框大小

         contour_width=2,

         # 詞雲的邊框顏色

         contour_color='pink',

         # 設定字型重複

         repeat=True,

         color_func=lambda *args,

         **kwargs: "pink")

     # 從字典生成詞雲

     wc.generate(word)

     # 從背景圖建立顏色方案

     image_colors = wordcloud.ImageColorGenerator(wc_mask)

     # 顯示詞雲

     plt.figure(figsize=[10, 10], dpi=300)

     plt.imshow(wc)

     plt.axis('off')

     plt.show()

def main(font_path='buzz_cloud_font.ttf',

          font_size=2000,

          ):

     word = input(' 請輸入填充詞: ')

     text = input(' 請輸入背景詞: ')

     img = gen_text_img(text,font_size, font_path)

     word_cloud(img,word,font_path)

main()

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2912157/,如需轉載,請註明出處,否則將追究法律責任。

相關文章