Pillow を使用して画像上に図形を描画するにはどうすればよいですか?

Oct 28, 2025

ご伝言

ちょっと、そこ!枕のサプライヤーとして、私は次のような一流の枕を販売するだけではありません。プレミアムソフト 100% ポリエステルホテル中空繊維充填ベッド枕、ホテルの高品質 100% ポリエステル繊維枕、 そしてホテルの高級ホワイトグースダウン枕。画像処理にもちょっとしたコツがあります。今日は、非常に便利な Python ライブラリである Pillow を使用して画像上に図形を描画する方法を共有します。

枕って何ですか?

まず最初に、Pillow とは何かについて説明しましょう。 Pillow は、Python Imaging Library (PIL) のフォークです。使いやすく、さまざまな画像ファイル形式を開いたり、操作したり、保存したりするための一連の機能を提供します。休暇の写真にクールな効果を加えたいと考えている愛好家であっても、プロジェクトに取り組んでいるプロのデザイナーであっても、Pillow はあなたの親友になります。

枕の取り付け

図形の描画を開始する前に、Pillow をインストールする必要があります。 pip (Python パッケージをインストールする最も一般的な方法) を使用している場合は、コマンド プロンプトまたはターミナルを開いて次のように入力します。

pip インストール枕

それでおしまい!すぐに Pillow の準備が整います。

基本的な図形の描画

基本から始めましょう。画像上にいくつかの単純な図形を描画します。まず、必要なモジュールをインポートし、イメージを開く必要があります。

from PIL import Image, ImageDraw # 画像を開く image = Image.open('your_image.jpg')draw = ImageDraw.Draw(image)

上記のコードでは、最初に画像そして画像描画Pillow ライブラリのクラス。次に、画像ファイルを開きます(置き換える必要があります)「あなたの画像.jpg」画像への実際のパスを使用します)。のImageDraw.Draw()関数は、画像上に描画するために使用できるオブジェクトを作成します。

Premium Soft 100% Polyester Hotel Hollow Fiber Filled Bed Pillow factoryPremium Soft 100% Polyester Hotel Hollow Fiber Filled Bed Pillow manufacturers

線を引く

線を引くのはとても簡単です。線の始点と終点、色と幅を指定するだけです。

# 線を描くdraw.line((100, 100, 200, 200), fill='red', width=2)

この例では、線は次の点から始まります。(100、100)そしてで終わります(200、200)。線は赤色で、幅は 2 ピクセルです。

長方形を描く

次に長方形を描いてみましょう。長方形の左上隅と右下隅を指定する必要があります。

# 長方形を描画しますdraw.rectangle((300, 300, 400, 400),outline='blue', width=2)

ここで、長方形の左上隅は次の位置にあります。(300、300)そしてその右下隅にある(400、400)。長方形の輪郭は青色で、幅は 2 ピクセルです。

楕円を描く

楕円を描くのも簡単です。楕円の境界ボックス (楕円を囲む長方形) を指定します。

# 楕円を描画しますdraw.ellipse((500, 500, 600, 600), fill='green')

この場合、楕円は緑色で塗りつぶされ、左上隅が長方形で囲まれています。(500、500)そして右下隅(600、600)。

よりコントロール性の高い描画

場合によっては、図形の外観をより詳細に制御したい場合があります。たとえば、グラデーション塗りつぶしや破線の輪郭を使用して図形を描画することができます。

グラデーション塗りつぶし

グラデーション塗りつぶしを作成するには、ループを使用して、異なる色で複数の線を描画します。以下は、長方形の垂直グラデーション塗りつぶしを作成する例です。

from PIL import Image, ImageDraw image = Image.open('your_image.jpg')draw = ImageDraw.Draw(image) # 垂直グラデーション塗りつぶしで長方形を描画 start_color = (255, 0, 0) # 赤 end_color = (0, 0, 255) # 青 x1, y1, x2, y2 = 100, 100, 200, 200 height = y2 - 範囲内の y の場合は y1(y1, y2): r = int(start_color[0] + (end_color[0] - start_color[0]) * (y - y1) / height) g = int(start_color[1] + (end_color[1] - start_color[1]) * (y - y1) / height) b = int(start_color[2] + (end_color[2] - start_color[2]) * (y - y1) / 高さ)draw.line((x1, y, x2, y), fill=(r, g, b))

このコードでは、まずグラデーションの開始色と終了色を定義します。次に、長方形内の各水平線をループし、その位置に基づいてその線の色を計算します。

破線の輪郭

破線の輪郭を描くと、図形に独特の外観を加えることができます。これは、間に隙間のある一連の短い線を描くことで実現できます。

from PIL import Image, ImageDraw image = Image.open('your_image.jpg')draw = ImageDraw.Draw(image) # 破線の輪郭を持つ長方形を描画 x1, y1, x2, y2 = 300, 300, 400, 400 dump_length = 5 gap_length = 3 for x in range(x1, x2, dump_length + gap_length):draw.line((x, y1、x + ダッシュ長, y1), fill=' yellow', width=2)draw.line((x, y2, x + ダッシュ_長さ, y2), fill=' yellow', width=2) y の範囲(y1, y2, ダッシュ長 + ギャップ長):draw.line((x1, y, x1, y + ダッシュ長), fill='黄色', width=2)draw.line((x2, y, x2, y + ダッシュ_長さ)、塗りつぶし='黄色'、幅=2)

この例では、ダッシュの長さとダッシュ間のギャップを定義します。次に、長方形の辺をループして破線を描きます。

変更したイメージを保存する

画像上に図形を描画し終わったら、画像を保存する必要があります。それは次のように簡単です。

image.save('modified_image.jpg')

交換するだけ'変更された画像.jpg'新しいイメージに付けたい名前を付けます。

高度な形状描画

基本については説明しましたが、Pillow ではさらに高度な形状の描画が可能です。たとえば、複数の辺を持つ多角形を描画できます。

from PIL import Image, ImageDraw image = Image.open('your_image.jpg')draw = ImageDraw.Draw(image) # 多角形を描画 Points = [(100, 100), (200, 150), (150, 250), (50, 200)]draw.polygon(points, fill='purple')

このコードでは、多角形の頂点を構成する点のリストを定義します。次に、ポリゴン()多角形を描画し、紫色で塗りつぶすメソッドです。

結論

Pillow を使用して画像上に図形を描くのは楽しくて簡単です。単純な線や長方形を追加する場合でも、グラデーション塗りつぶしを使用して複雑な多角形を作成する場合でも、Pillow を使用すると、画像を驚くべき方法で変換することができます。

高品質の枕をお探しの場合は、次のような当社の製品をチェックすることを忘れないでください。プレミアムソフト 100% ポリエステルホテル中空繊維充填ベッド枕、ホテルの高品質 100% ポリエステル繊維枕、 そしてホテルの高級ホワイトグースダウン枕。私たちは常に新しいパートナーと顧客を探しています。当社の枕を大量購入することに興味がある場合は、調達に関する話し合いのためにお気軽にお問い合わせください。

参考文献

  • 枕の公式ドキュメント
  • Pythonの公式ドキュメント

お問い合わせを送る