Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterキャンバスの長方形を透明にする方法は?


キャンバス ウィジェットは、Tkinterライブラリで最も用途の広いウィジェットの1つです。一般に、任意のアプリケーションで形状の描画、オブジェクトのアニメーション化、および複雑なグラフィックの作成に使用されます。 Rectangleのような形状を作成するには、 create_rectangle(x、y、x + width、y + height、** options)を使用します。 方法。 幅、高さ、塗りつぶしとbg、境界線の幅などのプロパティを追加することで、キャンバス上にアイテムを構成できます。 、など。

アルファ キャンバスのプロパティは、キャンバスアイテムの透明度を定義します。ただし、このプロパティはTkinterライブラリでは使用できません。したがって、形状に透明度属性を提供する関数を定義する必要があります。透明度属性の関数を作成する手順は次のとおりです。

  • 組み込み関数を定義するcreate_rectangle(x、y、a、b、** options)
  • アルファを計算します シェイプに提供する必要のある各色(RGB)に対して。
  • 事前定義されたアルファを削除します (該当する場合) pop()を使用して形状から 。
  • winfo_rgb()を使用して、領域の形状の色を計算します アルファを追加します 形に。
  • 新しく作成した図形は色や背景が異なるため、これを画像として使用する必要があります。
  • 画像はキャンバスに簡単に表示できます。

# Import the required libraries
from tkinter import *
from PIL import Image, ImageTk

# Create an instance of tkinter frame
win= Tk()

# Set the size of the tkinter window
win.geometry("700x350")

# Store newly created image
images=[]

# Define a function to make the transparent rectangle
def create_rectangle(x,y,a,b,**options):
   if 'alpha' in options:
      # Calculate the alpha transparency for every color(RGB)
      alpha = int(options.pop('alpha') * 255)
      # Use the fill variable to fill the shape with transparent color
      fill = options.pop('fill')
      fill = win.winfo_rgb(fill) + (alpha,)
      image = Image.new('RGBA', (a-x, b-y), fill)
      images.append(ImageTk.PhotoImage(image))
      canvas.create_image(x, y, image=images[-1], anchor='nw')
      canvas.create_rectangle(x, y,a,b, **options)
# Add a Canvas widget
canvas= Canvas(win)

# Create a rectangle in canvas
create_rectangle(50, 110,300,280, fill= "blue", alpha=.3)
create_rectangle(40, 90, 420, 250, fill= "red", alpha= .1)
canvas.pack()

win.mainloop()

出力

上記のコードを実行すると、キャンバスに複数の透明な長方形が表示されます。

Tkinterキャンバスの長方形を透明にする方法は?


  1. MS ペイントで背景を透明にする方法

    次のような状況に陥ったことがありますか?画像の特定の部分を別の部分にコピーするには?あなたは確かにそうであったに違いありません。グループチャットで送信するミームを作成している間、または他のプロジェクトのために。これは、最初に透明な画像/背景を作成することによって行われ、配置された背景の効果を吸収できます。透明なディテールを持つことは、特にロゴや複数の画像を互いに積み重ねる場合、グラフィック デザイン プロセスの重要な部分です。 透明な画像を作成するプロセスは実際には非常に簡単で、さまざまなアプリケーションを使用して実行できます。以前は、Adobe Photoshop のような複雑で高度なソフト

  2. Windows 10でタスクバーを透明にする方法

    ユーザー インターフェイス コンポーネントをカスタマイズすることで、多くの人が Windows 10 エクスペリエンスの変更を楽しんでいます。 Windows 10 には、コンピューターの外観をカスタマイズするためのさまざまなオプションが用意されています。多くの人が、これらの選択肢の中からタスク バーのデザインをカスタマイズする方法がないことに気付きました。色合いを変更し、透明度を切り替えて、タスクバーを希望以上に魅力的にすること以上のことはできません. Windows 10 でタスク バーを透明にする方法については、以下をお読みください。 Windows 10 でタスクバーを透明にする方