みなさんこんにちは、Pythonでラブウォールを描くチュートリアル「Pythonでラブウォールを描く方法」について編集者が質問に答えます。告白アーティファクトが Python を使用してラブ ウォール コードを描画していることをまだ知らない人が多いので、今すぐ見てみましょう。
Huawei Cloud Assistant WeChat (WeChat ID: HWCloud002またはHWCloud003 )の追加へようこそ。キーワード「グループの追加」を入力して Huawei Cloud オンライン技術ディスカッショングループに参加し、キーワード「最新イベント」を入力して Huawei Cloud から最新の特別プロモーションを入手してください。多くのHUAWEI CLOUD技術専門家と特別プロモーションがあなたを待っています
またまた七夕祭りです
今日は七夕祭り、中国の伝統的なバレンタインデーの機関車の使い方です。多くの若いカップルがこのフェスティバルのために長い間準備をしてきたと予想されますよね? バッド・ストリートのルーチンは、花を贈り、食事をし、映画館に行き、映画を観た後にホテルを探すこと以外の何ものでもありません。消費を爆発させる特別な日として、プログラマーはこのフェスティバルをどのように祝うのでしょうか? 本日社内ブログにて七夕祭りの過ごし方投票イベントを開催しました!その結果、ほとんどの人が密室で投票し、一晩考えました。彼女ができないのも不思議ではありません。今回はお金をかけずに彼女に特別なプレゼントを贈る方法を教えます!
ハートを描くための 1 行のコード
このコケティッシュな操作にどれだけの人が Python を学びたいと思ったかわかりません。実際、コードが本当にそのように書かれているのであれば、夜に仕事に行くときは第 3 レベルのヘッダーを持ってくる方が良いでしょう。そうでない場合は、樹液に悩まされやすい。コードは次のとおりです。print('\n'.join([''.join([('LovePython'[(x-y)%10]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))
効果:
技術は良いですが、これを彼女にプレゼントするなら、明日は太陽を見たくなければ…今日はもっとシャープなショーオペレーションを皆さんに提供します!
メイトゥシウ
さて、女の子の携帯電話に Meitu Xiuxiu などの美化ソフトウェアが搭載されているかどうかについては話さないでください。多くの男性の携帯電話にもこれらのソフトウェアが搭載されています。信じられますか?
Meitu Xiuxiu にはコラージュ機能があり、手動でハート型のパズルを選択し、好きな写真を 1 枚ずつ対応するボックスに貼り付けて、最終的にハート型の写真を作ることができます... そこで今日は私が教え
ますPython を使ってハート型のガールフレンドの写真の壁を描いてみましょう!
ハート型のレイアウト
Meitu Xiuxiu では、大きな絵と小さな絵の分類があり、難易度を下げるために、常に同じ比率の絵を使用してハート型の絵を描きます。まず、ハート型の絵を描き、それを小さなグリッドに従って分類する必要があります。
htmlとcssを使って簡単なハート型の画像を作成しました。まずは効果を見てみましょう。
考えながら作ったグリッドなので、ulタグで少しずつ綴って、jsを使って動的生成したりはしませんでした…。
フロントエンドの神様に嘲笑されるのが怖いので、内容が多すぎるのでコードは載せません(ダウンロードパスは記事の最後にPythonコードで記載します...
) 9X9のdiv配置フレームで、赤いボックスにガールフレンドの写真を入れるだけで、ハート型のフォトウォールの効果が完成します。恋人がいないって言ってるの?関係ないよ、好きな女の子のためにハート型の写真の壁を作ったら、もしかしたら今日手に入るかもしれないよ!もちろん、お友達のために作ることもできます。私はとてもオープンマインドなので、奨励したり拒否したりしません(笑)
コード分析
写真を準備する
まずは彼女の写真を整理することが大前提です!WeChat から義理の娘の写真を 12 枚見つけて、まずフォルダーに保存しました。
ランダムな選択
ここで誰かが聞きたいのですが、上の赤い四角を数えてください。全部で 52 個あり、絵は 12 章しかありません。どうやって数えますか? あなたの話によると、フォトアルバムから直接1,000枚の写真を撮ったら、大きな大根を描かなければなりませんか?
ランダムモジュールを導入し、random.choice
写真のリストを使用して動的に選択して埋める必要があります。これにより、写真の数が全員に固定されないという問題が解決され、数千枚の写真を配置することも、1 枚だけの写真を配置することもできます。
画像合成
昨日書いた Python の絵からスケッチへの絵画では枕ライブラリが使用されていましたが、今日はそれを使用してそれを実現できます。
def mark_pictures(self):
heart_image = Image.new('RGB', (128 * SideLength, 128 * SideLength))
row = col = 0
for side in range(SideLength * SideLength):
if images_side_calc(col, row):
img = Image.open(random.choice(self.image_list))
img = img.resize((128, 128), Image.ANTIALIAS)
else:
img = Image.new("RGB", (128, 128), (255, 255, 255))
heart_image.paste(img, (row * 128, col * 128))
col += 1
if col == SideLength:
col = 0
row += 1
if row == col == SideLength:
break
heart_image.save("heart_image.jpg")
まず空のキャンバスを作成し、各画像の固定サイズを 128X128 と規定し、赤いボックスの計算に従って画像または白いカーテンを動的に塗りつぶします。
ハートの形の計算方法については、最後の三角形に従うルールがあることを除いて、上記の線は次のimages_side_calc
ように線ごとに個別に判断するしかありません。
def images_side_calc(row, col):
if row == 0 and col in [1, 2, 6, 7]:
return True
elif row == 1 and col not in [3, 4, 5]:
return True
elif row == 2 and col != 4:
return True
elif row in [3, 4]:
return True
elif row >= 5 and (row - 5) < col < (13 - row):
return True
最終的な効果は以下の通りです。
ご覧のとおり、使用した写真は 12 枚だけなので、ランダムに繰り返される写真がいくつかありますが、これを使用すると、より多くの写真を選択でき、効果がさらに向上します。
ここで、重慶の妹の家で夏休みを過ごしている義理の娘に、この七夕祭りの贈り物を贈りたいと思います。七夕祭りが楽しくなりますようにお祈りしています。
exeファイルとしてパッケージ化する
このツールが作成されたので、Python 環境を持っていない人にとっても便利に使用できるはずです。
もちろん、Python 環境を持っていない人にも便利なツールが作成されました。pyinstaller パッケージング ツールを使用すると、Python 環境に依存する必要はありません。exe をダブルクリックして、イメージの保存先アドレスを入力します。ハート型のフォトウォールの描画を完了するには:
もちろん、昨日のスケッチのように tkinter GUI が設定されていないので、cmd に手動でパスを入力するだけでフォト ウォールの作成を完了できますが、必要に応じて、昨日の内容に従って GUI インターフェイスを手動で記述することもできます。
終わり
それでは、今日の内容はここまでです。この内容が役に立ったと思われる場合は、記事右下の「探している」をクリックしてください。
公式アカウントのフォトウォールに返信し、パッケージ化されたexe画像からスケッチへのツールをダウンロードして、一緒に楽しみましょう...
私の公式アカウントを楽しみにしています清风Python
、良いと思ったら、よろしくお願いします指を動かして友達に転送してください。
著者:清峰パイソン