ホームページ  >  記事  >  バックエンド開発  >  Pythonの顔文字パッケージを自動生成する方法を詳しく解説

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

高洛峰
高洛峰オリジナル
2017-03-19 09:21:401226ブラウズ

この記事ではPythonを使った簡単な画像処理と、Pythonでの自動式パックの作成例を中心に紹介していますので、非常に参考になる内容です

データとして見ていきましょう。アナリスト、「百聞は一見に如かず」という信じるべき格言があります。しかし、私がここで話したいのはデータの視覚化ではなく、万人に人気のある製品形態、つまり絵文字パックについてです。 ! ! !

絵文字パックは単なるシンボルではなく、文化でもあり、怠惰と同じように社会化、さらには社会的発展を促進する原動力の1つです。私たちは、優れた絵文字とは芸術作品であり、一晩の春風のような突然のインスピレーション、騒々しい感情の興奮、そして海を渡って航海するという願望であるべきであると主張します。世界 - それは、固定された形式、固定されたプロセス、美しさ、芸術的な変化や驚きを伴わない、通常の直線的思考による分解を使用するプログラマーには容認できません。ただし、絵文字を作成するプロセスでは、単に機械的に画像を PS にインポートしてテキストを変更し、エクスポートするだけでは低すぎるため、これらの非常に低度の機械的な繰り返し動作はプログラムに任せた方がよいでしょう。

私は常に、自動画像処理は PS や AI を制御する Javascript スクリプトに依存していると思っていましたが、その後、Python は MATLAB ほど強力ではないものの、実際にはいくつかの単純な画像処理を実行できることを発見しました。そのため、画像処理においても複雑な部分はPSやAIで手作業で完結させますが、単純な処理はPythonプログラムで完結させることが可能です。

仕事を始める前に、まず絵文字業界の画期的な人物に敬意を表し、歴史的傾向の中で絵文字の重要な進歩を精力的に推進してくれた彼らに感謝しましょう。彼らの名前は長い間世間で語り継がれるでしょう。彼らの声と姿は人々の日常の交流の中で永遠に語り継がれ、彼らの優れた貢献は絵文字の歴史の記念碑に永遠に刻まれるでしょう。

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

(表現に対して著作権料が徴収できるのであれば、野球や映画、放送にそんなに苦労する必要はありません...)

素材の準備

ここでは最も広く使用されているインターネット上で流通している金博物館 長い絵文字を中心に、背景にかわいいパンダの頭、その下にテキストを配置して絵文字パッケージを形成しています。

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

次に、PS を使用して画像サイズを処理し、テンプレート サイズを 250*250 に設定し、式の白いエッジをトリミングします。

画像オーバーレイ

最初のステップは、表現素材の背景が透明ではなく白いため、位置を適切に制御する必要があることに注意してください。そうしないと輪郭が覆われてしまいます。


from PIL import Image, ImageDraw, ImageFont
img = Image.open(".\background.jpg")
jgz = Image.open(".\jgz.jpg")
img.paste(jgz,(73,42))
img.show()

このようにして、合成画像が表示されます:

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

この画像の下には空白スペースがあり、最後のステップでテキストを追加するためのものです。さあ、魔法の笑顔が現れました、次のステップは最後の一撃です、大丈夫ですか?! いや、準備はできていますか?!

テキストオーバーレイ

絵文字パッケージの核となるのは表情ですが、一行は短く、衝撃的な言葉はしばしば心に直接触れる最後の仕上げをすることができます。


draw = ImageDraw.Draw(img) 
ttfront = ImageFont.truetype('simhei.ttf', 24) 
draw.text((32, 190),"我的内心毫无波动\n 甚至还想笑",fill=(0,0,0), font=ttfront) 
img.show()
img.save(".\Python生成的表情包.jpg")

このようにして、完全な絵文字パッケージが生成されます:

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

ここで、draw.text() はレイヤーにテキストを入力するため、このコマンドを実行し続けて画像にさらに追加することができます。レイヤーテキスト。

複数の絵文字と複数のテキスト行をインポートすることもできるため、大規模な絵文字パックを自動的に作成することができます...

質問昇華

ここで終わりだと思いましたか?若すぎる!子どもたち、次の質問について考えてください:

  • 絵文字の下の空白スペースは限られています

  • 中国語と英語、および句読点は異なるスペースを占めます

  • テキストが長すぎる場合は折り返す必要がありますが、行数が多すぎる場合は画像が収まりません

そのため、 , 何かが突然頭に浮かんだとき 行に中国語と英語の両方が含まれており、トーンを強調するために N 個の句読点が含まれている場合、適切なフォント サイズ、テキストの挿入位置、テキストをどこで折り返すかを見つけるアルゴリズムを設計する方法テキストを限られたスペースの中央に表示できるように、また特定の見た目と雰囲気を満たす必要があるでしょうか?

Pythonの顔文字パッケージを自動生成する方法を詳しく解説

忘れてください、ここで終わりにしましょう...

それで、この本格的なチュートリアルを通じて、私たちは Python を使用して簡単な画像処理を行う方法を学び、さらには絵文字を自動的に生成するという実用的な魔法のスキルも習得しました。

最も重要なことは、私がよく言っている「信じられないかもしれませんが、数分で大量の絵文字をバッチで作成できます」がついに現実になったということです...

以上がPythonの顔文字パッケージを自動生成する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。