コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

canvas.getColor( X, Y ) 戻り値: メイン画面のピクセルの色

メイン画面の(X,Y)座標のピクセルの色を取得します。
引数

  • X: メイン画面のX座標
  • Y: メイン画面のY座標

戻り値

取得値は32ビットの値で、先頭からアルファ値(8ビット)、レッド(8ビット)、グリーン(8ビット)、ブルー(8ビット)に分かれて入った状態で取得されます。
使用例

function main()
local x
local r, g, b, a, cc
local w,h = canvas.getviewSize()

  canvas.drawCls(color(255,255,255))
  canvas.drawCircle( w/2, h/2, 100, color(255,0,0), color(255,0,0) )
  for x=0,w-1 do
    cc = canvas.getColor( x, h/2 )
    a = math.fmod(math.floor(cc/256/256/256),256)
    r = math.fmod(math.floor(cc/256/256),256)
    g = math.fmod(math.floor(cc/256),256)
    b = math.fmod(cc,256)

    canvas.putLine( x, h/2, x, h/2, color(0,0,0) )
    canvas.drawText( "R="..r.." G="..g.." B="..b.." A="..a.."               ", 0, 0, 22, color(0,0,0),color(255,255,255) )
  end
end