ホームページ >バックエンド開発 >Python チュートリアル >重ね合わされた長方形のフレームレイヤーを実装するための Python 2 メソッド

重ね合わされた長方形のフレームレイヤーを実装するための Python 2 メソッド

Guanhui
Guanhui転載
2020-06-18 17:44:322460ブラウズ

重ね合わされた長方形のフレームレイヤーを実装するための Python 2 メソッド

#2 つの方法と効果:

方法 1、PIL.Image.blend メソッドを使用:

from PIL import Image, ImageDraw
im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
im2 = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
draw = ImageDraw.Draw(im2)
draw.rectangle([(1000, 500), (1200, 800)], fill=(255, 0, 0), width=2)
out = Image.blend(im, im2, 0.5)
out.save('d:/tmp/demo1.jpg')
im.close()
im2.close()
out.show()
out.close()

方法 2: 直接ピクセル オーバーレイ:

from PIL import Image, ImageDraw

im = Image.open('d:/tmp/58.249.0.220_01_20200604141800866_TIMING.jpg', 'r')
b = (255, 0, 0)
opacity = 0.5

for x in range(1000, 1200):
  for y in range(500, 800):
    p = im.getpixel((x, y))
    p = [int(p[i]*(1-opacity) + b[i]*opacity) for i in range(3)]
    im.putpixel((x, y), tuple(p))

im.save('d:/tmp/demo2.jpg')
im.show()
im.close()

2 つのレンダリングは次のとおりです:

説明: 最初の方法では、長方形を描画できます。楕円などの明確に定義された形状もありますが、2 番目のタイプは、形状を独立して制御する優れた機能を備えています。対応するデータ式がプログラムに編集されている限り、必要なアウトラインを描画できます。 2 つのメソッドは最初のメソッドによって定義されています (

out = image1 * (1.0 - alpha) image2 * alpha)

次に、色覚異常テスト チャートと別の画像を考えてみましょう (私はそうではありません)名前はわかりますが、写真の中の人によって見え方が異なる可能性があるため、私が思いついただけです。)

推奨チュートリアル: 「

Python チュートリアル

以上が重ね合わされた長方形のフレームレイヤーを実装するための Python 2 メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。