Class: Miyako::Bitmap

Inherits:
Object show all
Defined in:
lib/Miyako/API/bitmap.rb

Overview

ビットマップ(画像)管理クラス

SDLのSurfaceクラスインスタンスを管理するクラス

Class Method Summary collapse

Class Method Details

.additive(src, dst) ⇒ Object

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

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

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



352
353
# File 'lib/Miyako/API/bitmap.rb', line 352

def Bitmap.additive(src, dst)
end

.black_out(src, dst, degree) ⇒ Object

画像の色を一定の割合で黒に近づける(ブラックアウト)

赤・青・緑・αの各要素を一定の割合で下げ、黒色に近づける。 degreeの値が1.0に近づけば近づくほど黒色に近づく(値が0.0のときは変化なし、1.0のときは真っ黒になる) αの値が0のときは変わらないことに注意! 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

degree

変化率。0.0<=degree<=1.0までの実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



242
243
# File 'lib/Miyako/API/bitmap.rb', line 242

def Bitmap.black_out(src, dst, degree)
end

.black_out!(src, degree) ⇒ Object

画像の色を一定の割合で黒に近づける(ブラックアウト)

赤・青・緑・αの各要素を一定の割合で下げ、黒色に近づける。 degreeの値が1.0に近づけば近づくほど黒色に近づく(値が0.0のときは変化なし、1.0のときは真っ黒になる) αの値が0のときは変わらないことに注意! 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

degree

変化率。0.0<=degree<=1.0までの実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



310
311
# File 'lib/Miyako/API/bitmap.rb', line 310

def Bitmap.black_out!(src, degree)
end

.blit_aa(src, dst, x, y) ⇒ Object

画像をαチャネル付き画像へ転送する

範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。 src==dstの場合、何も行わない ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

x

転送先の転送開始位置(x方向・単位:ピクセル)

y

転送先の転送開始位置(y方向・単位:ピクセル)

返却値

転送に成功すればdstを返す。失敗すればnilを返す



71
72
# File 'lib/Miyako/API/bitmap.rb', line 71

def Bitmap.blit_aa(src, dst, x, y)
end

.blit_and(src, dst) ⇒ Object

2つの画像のandを取り、別の画像へ転送する

範囲は、src1側SpriteUnitとsrc2側との(ow,oh)の小さい方の範囲で転送する。 src1とsrc2の合成は、src2側SpriteUnitの(x,y)をsrc1側の起点として、src2側SpriteUnitの(ow,oh)の範囲で転送する。 dst側は、src1側SpriteUnitの(x,y)を起点に転送する。 以下の条件のどれかに合致しているとき、転送を行わなずにnilを返す 1.src1とsrc2のどちらかが、もう一方の内側にない 2.src2の大きさとdstの大きさが違う 3.src1==src2の場合、何も行わない ブロックを渡すと、src1,src2,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。 (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



88
89
# File 'lib/Miyako/API/bitmap.rb', line 88

def Bitmap.blit_and(src, dst)
end

.blit_or(src, dst) ⇒ Object

2つの画像のorを取り、別の画像へ転送する

範囲は、src1側SpriteUnitとsrc2側との(ow,oh)の小さい方の範囲で転送する。 src1とsrc2の合成は、src2側SpriteUnitの(x,y)をsrc1側の起点として、src2側SpriteUnitの(ow,oh)の範囲で転送する。 dst側は、src1側SpriteUnitの(x,y)を起点に転送する。 以下の条件のどれかに合致しているとき、転送を行わなずにnilを返す 1.src1とsrc2のどちらかが、もう一方の内側にない 2.src2の大きさとdstの大きさが違う 3.src1==src2の場合、何も行わない ブロックを渡すと、src1,src2,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



105
106
# File 'lib/Miyako/API/bitmap.rb', line 105

def Bitmap.blit_or(src, dst)
end

.blit_xor(src, dst) ⇒ Object

2つの画像のxorを取り、別の画像へ転送する

範囲は、src1側SpriteUnitとsrc2側との(ow,oh)の小さい方の範囲で転送する。 src1とsrc2の合成は、src2側SpriteUnitの(x,y)をsrc1側の起点として、src2側SpriteUnitの(ow,oh)の範囲で転送する。 dst側は、src1側SpriteUnitの(x,y)を起点に転送する。 以下の条件のどれかに合致しているとき、転送を行わなずにnilを返す 1.src1とsrc2のどちらかが、もう一方の内側にない 2.src2の大きさとdstの大きさが違う 3.src1==src2の場合、何も行わない ブロックを渡すと、src1,src2,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



122
123
# File 'lib/Miyako/API/bitmap.rb', line 122

def Bitmap.blit_xor(src, dst)
end

.ck_to_ac(src, dst, color_key) ⇒ Object

画像をαチャネル付き画像へ転送する

引数で渡ってきた特定の色に対して、α値をゼロにする画像を生成する src==dstの場合、何も行わずすぐに呼びだし元に戻る 範囲は、src側SpriteUnitの(w,h)の範囲で転送する。 ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

color_key

透明にしたい色(各要素がr,g,bに対応している整数の配列(0~255))

返却値

転送に成功すればdstを返す。失敗すればnilを返す



136
137
# File 'lib/Miyako/API/bitmap.rb', line 136

def Bitmap.ck_to_ac(src, dst, color_key)
end

.ck_to_ac!(dst, color_key) ⇒ Object

画像をαチャネル付き画像へ破壊的に変更する

引数で渡ってきた特定の色に対して、α値をゼロにする画像を生成する ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|dst側SpriteUnit|となる。

dst

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

color_key

透明にしたい色(各要素がr,g,bに対応している整数の配列(0~255))

返却値

転送に成功すればdstを返す。失敗すればnilを返す



171
172
# File 'lib/Miyako/API/bitmap.rb', line 171

def Bitmap.ck_to_ac!(dst, color_key)
end

.create(w, h) ⇒ Object

スプライトの元になる画像を生成する

幅・高さを渡すことにより、SDL::Surfaceクラスのインスタンスを生成する。

w

画像の幅。単位はピクセル

h

画像の幅。単位はピクセル

返却値

生成したSDL::Surfaceクラスのインスタンス(αチャネル付き)



33
34
35
36
37
38
39
40
41
42
# File 'lib/Miyako/API/bitmap.rb', line 33

def Bitmap.create(w, h)
  flag = SDL::HWSURFACE | SDL::SRCCOLORKEY | SDL::SRCALPHA
  # エンディアン判別
  if [1].pack("V*") == [1].pack("L*") # リトルエンディアン?
    bitmap = SDL::Surface.new(flag, w, h, 32, 0xff0000, 0xff00, 0xff, 0xff000000).display_format_alpha
  else # ビッグエンディアン
    bitmap = SDL::Surface.new(flag, w, h, 32, 0xff00, 0xff0000, 0xff000000, 0xff).display_format_alpha
  end
  bitmap
end

.dec_alpha(src, dst, degree) ⇒ Object

画像のαチャネルの値を一定の割合で変化させて転送する

degreeの値が1.0に近づけば近づくほど透明に近づき、 degreeの値が-1.0に近づけば近づくほど不透明に近づく (値が-1.0のときは完全不透明、値が0.0のときは変化なし、1.0のときは完全に透明になる) 但し、元々αの値がゼロの時は変化しない 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

degree

減少率。-1.0<=degree<=1.0までの実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



224
225
# File 'lib/Miyako/API/bitmap.rb', line 224

def Bitmap.dec_alpha(src, dst, degree)
end

.dec_alpha!(src, degree) ⇒ Object

画像のαチャネルの値を一定の割合で変化させて転送する

degreeの値が1.0に近づけば近づくほど透明に近づき、 degreeの値が-1.0に近づけば近づくほど不透明に近づく (値が-1.0のときは完全不透明、値が0.0のときは変化なし、1.0のときは完全に透明になる) 但し、元々αの値がゼロの時は変化しない 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

degree

減少率。-1.0<=degree<=1.0までの実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



293
294
# File 'lib/Miyako/API/bitmap.rb', line 293

def Bitmap.dec_alpha!(src, degree)
end

.hsv(src, dst, degree, saturation, value) ⇒ Object

画像の色相・彩度・明度を変更する

範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、 srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

degree

色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0

saturation

彩度の変更量。範囲は0.0〜1.0の実数

value

明度の変更量。範囲は0.0〜1.0の実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



482
483
# File 'lib/Miyako/API/bitmap.rb', line 482

def Bitmap.hsv(src, dst, degree, saturation, value)
end

.hsv!(dst, degree, saturation, value) ⇒ Object

画像の色相・彩度・明度を破壊的に変更する

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

dst

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

degree

色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0

saturation

彩度の変更量。範囲は0.0〜1.0の実数

value

明度の変更量。範囲は0.0〜1.0の実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



528
529
# File 'lib/Miyako/API/bitmap.rb', line 528

def Bitmap.hsv!(dst, degree, saturation, value)
end

.hue(src, dst, degree) ⇒ Object

画像の色相を変更する

範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、 srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

degree

色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0

返却値

転送に成功すればdstを返す。失敗すればnilを返す



435
436
# File 'lib/Miyako/API/bitmap.rb', line 435

def Bitmap.hue(src, dst, degree)
end

.hue!(dst, degree) ⇒ Object

画像の色相を破壊的に変更する

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

dst

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

degree

色相の変更量。単位は度(実数)。範囲は、-360.0<degree<360.0

返却値

転送に成功すればdstを返す。失敗すればnilを返す



493
494
# File 'lib/Miyako/API/bitmap.rb', line 493

def Bitmap.hue!(dst, degree)
end

.inverse(src, dst) ⇒ Object

画像のRGB値を反転させる

αチャネルの値は変更しない 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



275
276
# File 'lib/Miyako/API/bitmap.rb', line 275

def Bitmap.inverse(src, dst)
end

.inverse!(src) ⇒ Object

画像のRGB値を反転させる

αチャネルの値は変更しない 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



341
342
# File 'lib/Miyako/API/bitmap.rb', line 341

def Bitmap.inverse!(src)
end

.load(filename) ⇒ Object

指定のファイルから画像を読み込む

指定したファイル名(パス)から画像データを読みこみ、SDL::Surfaceクラスのインスタンスを生成する。 存在しないパスを渡したときはMiyakoIOErrorを発生させる。 ロードに失敗したときは例外MiyakoFileFormatErrorを発生させる。

filename

画像のファイル名

返却値

生成したSDL::Surfaceクラスのインスタンス(αチャネル付き)。

Raises:



50
51
52
53
54
55
56
57
58
# File 'lib/Miyako/API/bitmap.rb', line 50

def Bitmap.load(filename)
  raise MiyakoIOError, "can't find file! #{filename}" unless File.exist?(filename)
  begin
    return SDL::Surface.load(filename).display_format_alpha
  rescue SDL::Error
    raise MiyakoFileFormatError, "Illegal file format! collect? #{filename}"
  end
  return nil
end

.normal_to_ac(src, dst) ⇒ Object

画像をαチャネル付き画像へ変換する

24ビット画像(αチャネルがゼロの画像)に対して、すべてのα値を255にする画像を生成する 範囲は、src側SpriteUnitの(w,h)の範囲で転送する。 ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



160
161
# File 'lib/Miyako/API/bitmap.rb', line 160

def Bitmap.normal_to_ac(src, dst)
end

.normal_to_ac!(dst) ⇒ Object

画像をαチャネル付き画像へ破壊的に変換する

24ビット画像(αチャネルがゼロの画像)に対して、すべてのα値を255にする画像を生成する ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



192
193
# File 'lib/Miyako/API/bitmap.rb', line 192

def Bitmap.normal_to_ac!(dst)
end

.reset_ac(src, dst) ⇒ Object

画像のαチャネルを255に拡張する

αチャネルの値を255に拡張する(α値をリセットする) 範囲は、src側SpriteUnitの(w,h)の範囲で転送する。 ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



148
149
# File 'lib/Miyako/API/bitmap.rb', line 148

def Bitmap.reset_ac(src, dst)
end

.reset_ac!(dst) ⇒ Object

画像のαチャネルを255に拡張する(破壊的に変更)

αチャネルの値を255に拡張する(α値をリセットする) ブロックを渡すと、dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|dst側SpriteUnit|となる。

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



181
182
# File 'lib/Miyako/API/bitmap.rb', line 181

def Bitmap.reset_ac!(dst)
end

.rotate(src, dst, radian) ⇒ Object

画像を回転させて貼り付ける

転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、(ow,oh)の範囲で転送する。 回転の中心は(ox,oy)を起点に、(cx,cy)が中心になるように設定する。 転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に、dst側SpriteUnitの(cx,cy)が中心になるように設定にする。 回転角度が正だと右回り、負だと左回りに回転する src==dstの場合、何も行わない ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

radian

回転角度。単位はラジアン。値の範囲は0<=radian<2pi

返却値

転送に成功すればdstを返す。失敗すればnilを返す



379
380
# File 'lib/Miyako/API/bitmap.rb', line 379

def Bitmap.rotate(src, dst, radian)
end

.saturation(src, dst, saturation) ⇒ Object

画像の彩度を変更する

範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、 srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

saturation

彩度の変更量。範囲は0.0〜1.0の実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



450
451
# File 'lib/Miyako/API/bitmap.rb', line 450

def Bitmap.saturation(src, dst, saturation)
end

.saturation!(dst, saturation) ⇒ Object

画像の彩度を破壊的に変更する

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

dst

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

saturation

彩度の変更量。範囲は0.0〜1.0の実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



504
505
# File 'lib/Miyako/API/bitmap.rb', line 504

def Bitmap.saturation!(dst, saturation)
end

.scale(src, dst, xscale, yscale) ⇒ Object

画像を拡大・縮小・鏡像(ミラー反転)させて貼り付ける

転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、(ow,oh)の範囲で転送する。 回転の中心は(ox,oy)を起点に、(cx,cy)が中心になるように設定する。 転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に、dst側SpriteUnitの(cx,cy)が中心になるように設定にする。 度合いが scale > 1.0 だと拡大、 0 < scale < 1.0 だと縮小、scale < 0.0 負だと鏡像の拡大・縮小になる(scale == -1.0 のときはミラー反転になる) 但し、拡大率が4096分の1以下だと、拡大/縮小しない可能性がある src==dstの場合、何も行わない ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

xscale

拡大率(x方向)

yscale

拡大率(y方向)

返却値

転送に成功すればdstを返す。失敗すればnilを返す



397
398
# File 'lib/Miyako/API/bitmap.rb', line 397

def Bitmap.scale(src, dst, xscale, yscale)
end

.screen_to_ac(src, dst) ⇒ Object

画面(αチャネル無し32bit画像)をαチャネル付き画像へ転送する

α値がゼロの画像から、α値を255にする画像を生成する src==dstの場合、何も行わずすぐに呼びだし元に戻る 範囲は、src側SpriteUnitの(w,h)の範囲で転送する。 ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



205
206
# File 'lib/Miyako/API/bitmap.rb', line 205

def Bitmap.screen_to_ac(src, dst)
end

.subtraction(src, dst) ⇒ Object

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

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

src

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

dst

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

返却値

転送に成功すればdstを返す。失敗すればnilを返す



363
364
# File 'lib/Miyako/API/bitmap.rb', line 363

def Bitmap.subtraction(src, dst)
end

.transform(src, dst, radian, xscale, yscale) ⇒ Object

画像を変形(回転・拡大・縮小・鏡像)させて貼り付ける

転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。 回転の中心はsrc側(ox,oy)を起点に、src側(cx,cy)が中心になるように設定する。 転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に、dst側SpriteUnitの(cx,cy)が中心になるように設定にする。 回転角度は、src側SpriteUnitのangleを使用する 回転角度が正だと右回り、負だと左回りに回転する 変形の度合いは、src側SpriteUnitのxscale, yscaleを使用する(ともに実数で指定する)。それぞれ、x方向、y方向の度合いとなる 度合いが scale > 1.0 だと拡大、 0 < scale < 1.0 だと縮小、scale < 0.0 負だと鏡像の拡大・縮小になる (scale == -1.0 のときはミラー反転になる) 但し、拡大率が4096分の1以下だと、拡大/縮小しない可能性がある src==dstの場合、何も行わない ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

radian

回転角度。単位はラジアン。値の範囲は0<=radian<2pi

xscale

拡大率(x方向)

yscale

拡大率(y方向)

返却値

転送に成功すればdstを返す。失敗すればnilを返す



420
421
# File 'lib/Miyako/API/bitmap.rb', line 420

def Bitmap.transform(src, dst, radian, xscale, yscale)
end

.value(src, dst, value) ⇒ Object

画像の明度を変更する

範囲は、srcの(ow,oh)の範囲で転送する。転送先の描画開始位置は、 srcの(x,y)を左上とする。但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

value

明度の変更量。範囲は0.0〜1.0の実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



465
466
# File 'lib/Miyako/API/bitmap.rb', line 465

def Bitmap.value(src, dst, value)
end

.value!(dst, value) ⇒ Object

画像の明度を破壊的に変更する

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

dst

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

value

明度の変更量。範囲は0.0〜1.0の実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



515
516
# File 'lib/Miyako/API/bitmap.rb', line 515

def Bitmap.value!(dst, value)
end

.white_out(src, dst, degree) ⇒ Object

画像の色を一定の割合で白に近づける(ホワイトアウト)

赤・青・緑・αの各要素を一定の割合で上げ、白色に近づける。 degreeの値が1.0に近づけば近づくほど白色に近づく(値が0.0のときは変化なし、1.0のときは真っ白になる) αの値が0のときは変わらないことに注意! 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

dst

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

degree

変化率。0.0<=degree<=1.0までの実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



260
261
# File 'lib/Miyako/API/bitmap.rb', line 260

def Bitmap.white_out(src, dst, degree)
end

.white_out!(src, degree) ⇒ Object

画像の色を一定の割合で白に近づける(ホワイトアウト)

赤・青・緑・αの各要素を一定の割合で上げ、白色に近づける。 degreeの値が1.0に近づけば近づくほど白色に近づく(値が0.0のときは変化なし、1.0のときは真っ白になる) αの値が0のときは変わらないことに注意! 範囲は、src側SpriteUnitの(ow,oh)の範囲で転送する。転送先の描画開始位置は、src側SpriteUnitの(x,y)を左上とする。 但しsrc==dstのときはx,yを無視する src == dst : 元の画像を変換した画像に置き換える src != dst : 元の画像を対象の画像に転送する(αチャネルの計算付き) ブロックを渡すと、src,dst側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|src側SpriteUnit,dst側SpriteUnit|となる。

src

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

degree

変化率。0.0<=degree<=1.0までの実数

返却値

転送に成功すればdstを返す。失敗すればnilを返す



327
328
# File 'lib/Miyako/API/bitmap.rb', line 327

def Bitmap.white_out!(src, degree)
end