ホームページ  >  記事  >  バックエンド開発  >  Python で絵文字パッケージを実装するためのコード例

Python で絵文字パッケージを実装するためのコード例

Y2J
Y2Jオリジナル
2017-05-16 11:58:525105ブラウズ

この記事では、主に Python を使った簡単な画像処理の方法と、Python で顔文字を自動生成する例を紹介します。エディターで見てみましょう

。一言で言えば——「百聞は一見に如かず」。しかし、私がここで話したいのはデータの視覚化ではなく、万人に人気のある製品形態、つまり絵文字パックについてです。 ! ! !

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

私は常に、自動画像処理は PS や AI を制御する JavaScript スクリプトに依存していると考えていましたが、その後、Python は MATLAB ほど強力ではないものの、実際にはいくつかの単純な画像処理を実行できることを発見しました。そのため、画像処理においても複雑な部分はPSやAIで手作業で完結させますが、単純な処理は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()

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

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

テキストオーバーレイ

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

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")

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

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

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

質問昇華

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

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

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

  • テキストが長すぎる場合は、ラップ; でも、もし行数が多すぎて写真が収まりません

それでは、中国語と英語の両方と、トーンを強調するための N 個の句読点が含まれている行が突然頭に浮かんだとき、どうしますか?適切なアルゴリズムを設計して、限られたスペース内でテキストを中央に表示できるように、フォント サイズ、テキストの挿入位置、テキストを折り返す場所、また特定の外観と操作性を満たさなければなりませんか?

もう忘れて、ここで終わりにしましょう...

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

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

【関連のおすすめ】

1. 特別な推奨事項: 「php Programmer Toolbox」V0.1 バージョンのダウンロード

2. Python の無料ビデオ チュートリアル

3. Python オブジェクト指向のビデオ チュートリアル

以上がPython で絵文字パッケージを実装するためのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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