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

Tkinterでシェイプのアルファを変更するにはどうすればよいですか?


Canvasウィジェットは、任意のアプリケーションにグラフィックを提供するために使用されるtkinterライブラリの多国間ウィジェットの1つです。図形、画像、アニメーションオブジェクト、または複雑なビジュアルを描画するために使用できます。 アルファ 形状のプロパティは、アルファを与えるとそれを定義します 任意の形状に値を設定する場合は、親ウィンドウに対してある程度の透明度の動作が必要です。

alphaプロパティを定義するには、すべての図形にいくつかの色が含まれていると想定する必要があります。図形にalpha値を指定するたびに、それを画像に変換する必要があります。画像はCanvasウィジェットを使用して表示できます。

# 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(60, 90,310,250, fill= "red", alpha=.3)

canvas.pack()

win.mainloop()

出力

上記のコードを実行して、alphaプロパティが形状によってどのように変化するかを確認します。

Tkinterでシェイプのアルファを変更するにはどうすればよいですか?


  1. Tkinterで複数行のエントリを作成するにはどうすればよいですか?

    複数行のユーザー入力をサポートするエントリウィジェットを作成するとします。複数行のエントリウィジェットを作成するには、 Text()を使用できます。 コンストラクター。 例 ここで、この例では、複数行のエントリウィジェットを含むウィンドウを作成します。 #Import the library from tkinter import * #Create an object of tkinter window or frame win = Tk() #Define the geometry of window win.geometry("650x250") #Creat

  2. Tkinterで簡単なメッセージボックスを作成するにはどうすればよいですか?

    Tkinterは、アプリケーションを作成および開発するための人気のあるPythonライブラリです。アプリケーションに複数の機能を追加するために使用できるさまざまなメソッドと関数があります。 Tkinterを使用すると、ダイアログボックスやその他のウィジェットを作成できます。 この記事では、オプションを選択するための情報をポップアップして表示する簡単なメッセージボックスを作成する方法を説明します。 例 #Import the required libraries from tkinter import * from tkinter import messagebox #Create an in