IronPythonいぢり
最近買ってみたPythonクックブック第2版より、IronPythonの例を試してみて面白かったので紹介してみる。
まずIronPythonってのはPython言語の.NETへの実装のこと。.NETってのは正式には.NETフレームワークといって、マイクロソフトが開発したアプリケーション開発、実行環境のこと。
で、その面白いと思ったプログラムはこれ:
# coding:shift-jis # .NET専用の下準備 import clr clr.AddReferenceByPartialName("System.Windows.Forms") clr.AddReferenceByPartialName("System.Drawing") # .NETの利用 from System.Windows.Forms import * from System.Drawing import * from System.Drawing.Imaging import * form = Form(Text="Window Fade-ins with IronPython", HelpButton=False, MinimizeBox=True, MaximizeBox=True, WindowState=FormWindowState.Maximized, FormBorderStyle=FormBorderStyle.Sizable, StartPosition=FormStartPosition.CenterScreen, Opacity = 0) #チェッカー模様のパターンを作る box_size = 25 image = Bitmap(box_size * 2, box_size * 2) graphics = Graphics.FromImage(image) graphics.FillRectangle(Brushes.Black, 0, 0, box_size, box_size) graphics.FillRectangle(Brushes.White, box_size, 0, box_size, 50) graphics.FillRectangle(Brushes.White, 0, box_size, box_size, box_size) graphics.FillRectangle(Brushes.Black, box_size, box_size, box_size, box_size) form.BackgroundImage = image # 半透明度を調整するコントロールを作る opacity_tracker = TrackBar(Text="Transparency", Height = 0, Dock = DockStyle.Bottom, Minimum = 0, Maximum = 100, Value = 0, TickFrequency = 10, Enabled = False) def tracker_opacity_change(sender, event): form.Opacity = opacity_tracker.Value / 100.0 opacity_tracker.ValueChanged += tracker_opacity_change # タイマを生成してウィンドウの外見をアニメーションさせる timer = Timer() timer.Interval = 30 def tick(sendr, event): val = opacity_tracker.Value + 1 if val >= opacity_tracker.Maximum: # 半透明度が最大になったら、アニメーションを一時停止させる # その後はユーザが半透明度を自由に設定できるようにする opacity_tracker.Value = opacity_tracker.Maximum opacity_tracker.Minimum = 20 # ウィンドウが消えてしまわないようにする opacity_tracker.Enabled = True timer.Stop() else: opacity_tracker.Value = val timer.Tick += tick timer.Start() form.ShowDialog()
このプログラムを実行するにはまずPython本体とIronPythonをインストールする。
・Python本体:http://www.python.org/
・IronPython:http://www.codeplex.com/IronPython/
Python本体は省略。
IronPythonをインストールする。そしてあらかじめどこでもいいから上のプログラムを分かりやすい名前をつけて保存しておく(ここではipytest.py)。次にコマンドプロンプトから下のようにIronPythonの保存先のディレクトリに移動して、プログラムを実行すると・・・、
c:\Documents and Settings\necoffee\>d:
d:\>cd ironpython-1.1
d:\IronPython-1.1>ipy.exe "d:\ipytest.py"
わーお、模様が浮かび上がってくるー。瞬きしないでディスプレイをじっと見てると奇妙な気分になります><
- 作者: Alex Martelli,Anna Martelli Ravenscroft,David Ascher,鴨澤眞夫,當山仁健,吉田聡,吉宗貞紀
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/06/26
- メディア: 大型本
- 購入: 11人 クリック: 423回
- この商品を含むブログ (85件) を見る