hirax.net::inside out::2008年11月16日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2008年10月 を読む << 2008年11月 を読む >> 2008年12月 を読む

2008-11-16[n年前へ]

続:Ruby版 Win32GuiTest クラスを作りました。 

 (この記事は「Ruby版 Win32GuiTest クラスを作りました。」)の続きです。

  Ruby版 Win32GuiTest に関数・機能を追加しました。下の動画は「ペイントを立ち上げて、ウィンドウの場所を動かし、絵を描いた上で、ビットマップファイルを保存する」という作業をRuby版 Win32GuiTestを使ってRubyで自動で行ったものになります。


 実際のコードはソースコード(guiTest.rb)に入っているように、下記のようになります。次はリサージュ図形でも書いてみることにしましょうか。

  gui=Win32GuiTest.new
  gui.run('mspaint.exe')
  sleep 1
  w=gui.findWindowLikeName('ペイント').first[0]
  gui.setForegroundWindow(w)
  gui.moveWindow(w)
  r=gui.getWindowRect(gui.getForegroundWindow)
  sleep 1
  360.times do |i|
    rad=i*2*3.14/360.0
    x=r[0]+200+100*Math.cos(rad)
    y=r[1]+200+100*Math.sin(rad)
    gui.mouseMoveAbsPix(x.to_i,y.to_i)
    gui.sendLButtonDown if i==0
  end  
  gui.sendLButtonUp
  gui.sendKeys('%f',2)    
  gui.sendKeys('x',1)    
  gui.sendKeys('y',1)    
  gui.sendKeys('TestBitmap.bmp',2)    
  gui.sendKeys('{ENTER}',2)    

ペイント automated by Ruby Win32::GuiTest 

 というわけで、リサージュ図形(もどき)を「ペイント automated by Ruby Win32::GuiTest」で描いてみました。ペイントソフトでリサージュを(マウスを使って)描くのは大変ですけど、自動化すれば簡単ですよね。・・・簡単・・・ですよね・・・?