この記事では、Python を使用して独自のロゴを 10 分で作成する方法について主に紹介します。この記事では、主にワード クラウドを使用してこの効果を実現する方法について、サンプル コードを通じて詳しく紹介します。この作品には一定の参考と学習価値がありますので、必要な友達が来て一緒に見てみてください
皆さんはワードクラウドの使い方に慣れていると思います。使用するには、wordcloud パッケージを直接呼び出すだけです。その主な機能は、テキストの単語と単語の頻度に基づいて画像を生成することで、そこから各単語の割合を直感的に確認できます。 最近、個人的なロゴを作りたかったので、ワードクラウドを使用して作成することにしました。
wordcloud のインストール
pip install wordcloud
ファイルがダウンロードされたら、whl ファイルがあるフォルダーに cmd して、次のコマンドを入力します:
pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl
wordcloud コードの使用法
インストールが成功したら、すぐに写真の作成を開始します。 。
from os import path from PIL import Image import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator d = path.dirname(__file__) # 读文本文件 text = open(path.join(d, 'data.txt')).read() # 读取自定义图片 alice_coloring = np.array(Image.open(path.join(d, "pic.jpg"))) # 你可以通过 mask 参数 来设置词云形状 wc = WordCloud(background_color="white",max_words=2000, mask=alice_coloring, max_font_size=60,random_state=102,scale=8, font_path="C:\Windows\Fonts\msyhbd.ttf").generate(text) wc.generate_from_text(text) print('开始加载文本') # 改变字体颜色 img_colors = ImageColorGenerator(alice_coloring) # 字体颜色为背景图片的颜色 wc.recolor(color_func=img_colors) # 显示词云图 plt.imshow(wc, interpolation="bilinear") # 是否显示x轴、y轴下标 plt.axis('off') plt.show() # 获得模块所在的路径的 d = path.dirname(__file__) # 将多个路径组合后返回 wc.to_file(path.join(d, "h16.jpg")) print('生成词云成功!')
ワードクラウドパラメータの設定は、画像効果にとって特に重要です:
font_path: 文字列フォントパス フォントを表示したい場合は、次のようにフォントパス + サフィックス名を記述します。 font_path = 'Blackbody.ttf'
width : int (default=400) 出力キャンバスの幅、デフォルトは 400 ピクセルです
height : int (default=200) 出力キャンバスの高さ、デフォルトは 200 ピクセルピクセル
prefer_horizontal : float (デフォルト=0.90) 単語の水平組版の頻度、デフォルトは0.9です
mask : nd-array または None (デフォルト=None) パラメータが空の場合、ワードクラウド普通に描画されます。マスクが空でない場合、設定された幅と高さの値は無視され、形状はマスクに置き換えられます。白以外の部分は描画されず、残りの部分がワードクラウドの描画に使用されます。
scale : float (default=1) 比率に従ってキャンバスを拡大します。2 に設定すると、長さと幅が元のキャンバスの 2 倍になります。
min_font_size : int (デフォルト = 4) 表示される最小フォント サイズ
font_step : int (デフォルト = 1) フォント ステップ サイズ ステップ サイズが 1 より大きい場合、操作は高速化されますが、結果の誤差が大きくなります。
max_words : 数値 (デフォルト=200) 表示される単語の最大数
stopwords : 一連の文字列またはなし ブロックされる単語を設定します。空の場合は、組み込みのストップワードを使用します
background_color: 色の値 (デフォルト =”black”) 背景色。background_color=’white’ など、背景色は白です。
max_font_size : int または None (default=None) 表示される最大フォント サイズ
mode : string (default="RGB") パラメータが "RGBA" で、background_color が空でない場合、背景は透明になります。
relative_scaling : float (default=.5) 単語の頻度とフォントサイズの相関
color_func : callable、default=None 新しい色を生成する関数、空の場合は self.color_func を使用します
regexp: string または None (オプション) 正規表現を使用して入力テキストを区切ります
collocations: bool、default=True 2 つの単語の連語を含めるかどうか
colormap: string または matplotlib colormap、default=”viridis color_func が指定されている場合、このメソッドは無視されます。
使用している写真はブロガー自身の写真です。
関連する推奨事項:
Pythonソケットを使用してhttp(s)リクエストメソッドを送信します
以上がPython を使用して、10 分で独自のパーソナライズされたロゴを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。