色に透明度を指定する

透明度を指定した色で円を塗りつぶす。コードは下の通り。

import math
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")

from System.Windows.Forms import Application, Form
from System.Drawing import Size, Color, SolidBrush

class IForm(Form):
    def __init__(self):
        self.Text = 'Circles'
       
        xc = 140
        yc = 130
        r = 80.0
        self.coords = list()
        for i in range(18):
            x = xc + r*math.cos(math.pi/180.0*20*i)
            y = yc + r*math.sin(math.pi/180.0*20*i)
       
            xy = [x, y]
            self.coords.append(xy)
       
        self.Paint += self.OnPaint
        self.CenterToScreen()
       
    def OnPaint(self, event):
        g = event.Graphics

        for i in range(len(self.coords)):
            xs = self.coords[i][0]
            ys = self.coords[i][1]
            color = Color.FromArgb(255/len(self.coords)*i, 0, 0, 255)
            brush = SolidBrush(color)
            g.FillEllipse(brush, xs, ys, 15, 15)
       
        g.Dispose()

Application.Run(IForm())

実行例