TABitmap の解説
TOP
関数一覧
procedure LoadFromFile(const FileName:String);override;
ビットマップ画像を呼び出します
procedure Assign(Source:TPersistent);override;
TBitmap/TABitmapの画像データをそのままコピーしてきます。
procedure SetSize(W,H:Integer);
サイズを変更します。(変更すると画像はクリアされます)
procedure PutRGB(x,y:Integer;r,g,b:Byte);
指定位置にr,g,bのドットを出力します。
procedure PutColor(x,y:Integer;col:TColor);
指定位置にColorのドットを出力します。
procedure GetRGB(x,y:Integer;var r,g,b:Byte);
指定位置のピクセルからr,g,bを取り出します。
procedure GetColor(x,y:Integer;var col:TColor);
指定位置のピクセルからColorを取り出します。
procedure FillBMP(r,g,b:byte);
全部指定色にフィルする。
・通常アルファブレンディング
procedure ColorAlpha(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:WORD);
procedure ColorAlphaMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:WORD);
procedure ColorAlphaMMX64(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:WORD);
合成出力先BMPに半透明値でアルファブレンディングを行います。
ColorAlphaMMX64は、幅が偶数の場合、一度に2ピクセルずつ処理します。若干高速化されます。
偶数ではないときは自動でColorAlphaMMXを呼び出します。
・透過色転送
procedure ColorKey(x,y,w,h,ax,ay:Integer;BMP:TBitmap;Col:TColor);
合成出力先BMPに透過色Colで透過合成を行います。
procedure ColorKeyAlpha(x,y,w,h,ax,ay:Integer;BMP:TBitmap;Col:TColor;iA:BYTE);
procedure ColorKeyAlphaMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap;Col:TColor;iA:BYTE);
合成出力先BMPに透過色Colで半透明付き透過合成を行います。
ColorKey関数はMMX化の必要性が無いので行っていません。
・加算転送(色を足す合成方法。炎や爆破などに有効)
procedure ColorAdd(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:Word);
procedure ColorAddMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:WORD);
画像を加算して合成します。
炎などの効果に有効です。
・減算転送(色を減らす合成方法。影等に使う)
procedure ColorSub(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:Word);
procedure ColorSubMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:WORD);
画像を減算して合成します。
影などに有効です。
・半透明長方形処理
procedure RectAngleAlpha(x,y,w,h:Integer;Col:TColor;iA:BYTE);
procedure RectAngleAlphaMMX(x,y,w,h:Integer;Col:TColor;iA:BYTE);
指定色Colで範囲を半透明値で長方形に塗りつぶします。
・アルファチャンネル処理
procedure ColorAlphaPic(x,y,w,h,ax,ay:Integer;BMP:TBitmap);
procedure ColorAlphaPicMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap);
procedure ColorAlphaPicCh(x,y,w,h,ax,ay:Integer;BMP:TBitmap);
procedure ColorAlphaPicChMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap);
アルファチャンネルを適用して合成出力先BMPに出力します。
Chは、透過、不透過が多い画像に最適化されています。ゲームのキャラクタ画像に使うと良いです。
・アルファチャンネル・アルファブレンディング処理
procedure ColorAlphaPicAlpha(x,y,w,h,ax,ay,ax,ay:Integer;BMP:TBitmap;iA:Word);
procedure ColorAlphaPicAlphaMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:Word);
procedure ColorAlphaPicAlphaCh(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:Word);
procedure ColorAlphaPicAlphaChMMX(x,y,w,h,ax,ay:Integer;BMP:TBitmap;iA:Word);
アルファチャンネルを適用して合成出力先BMPに半透明出力します。
Chは、透過、不透過が多い画像に最適化されています。ゲームのキャラクタ画像に使うと良いです。
TOP