Method: Miyako::Sprite#subtraction

Defined in:
lib/Miyako/API/sprite.rb

#subtraction(src, &block) ⇒ Object

2枚の画像の減算合成を行う

範囲は、src側の(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側の(x,y)を左上とする。ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る(ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

転送元ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)

返却値

変更後の新しい画像インスタンス

Raises:



934
935
936
937
938
939
# File 'lib/Miyako/API/sprite.rb', line 934

def subtraction(src, &block)
  dst = Sprite.new(:size=>self.size, :type=>:ac)
  self.render_to(dst)
  raise MiyakoValueError, "illegal range!" unless Bitmap.subtraction(src, dst, &block)
  return dst
end