[トップ][編集][ノート][編集履歴][一覧][最近の更新][->English]

HSPHelp:gmode


gmode

gmode p1,p2,p3                  [画面コピーモード設定]

    p1=0〜6(0) : 画面コピーモード
    p2,p3 : コピーする大きさX,Y(ドット単位)
    p4=0〜256(0) : 半透明合成時のブレンド率

説明

gcopyで使用されるモードおよび、サイズ、ブレンド率などを設定します。それぞれのコピーモード動作は以下の通りです。

  • モード0 = 通常のコピー(bitblt)
    WindowsのシステムAPIを使った画像コピーを行ないます。最も標準的なモードです。
  • モード1 = メモリ間コピー
    画像バッファ間のメモリコピーを行ないます。コピー元とコピー先は、 同じ画像モード(パレットあり・なし)でなければなりません。モード0よりも速度面で有利な場合があります。
  • モード2 = 透明色付きコピー
    モード1と同様の方法でコピーを行ないますが、RGBが0のドットは透明色とみなされコピーされません。
  • モード3 = 半透明合成コピー
    フルカラーモード時のみ使用することができます。 HSPHelp:gmodeの4番目のパラメーターで指定したブレンド率による半透明合成コピーを行ないます。 ブレンド率は0〜256の値となり、256で完全なコピーになります。ブレンド率が0の場合はコピーは実行されません。 また、ブレンド率が256以上はメモリ間コピーが実行されます。
  • モード4 = 透明色付き半透明合成コピー
    モード3と同様の方法でコピーを行ないますが、 RGB値がHSPHelp:color命令で設定された色と同じドットは透明色とみなされコピーされません。 ブレンド率が0の場合はコピーは実行されません。
  • モード5 = 色加算合成コピー
    フルカラーモード時のみ使用することができます。 HSPHelp:gmodeの4番目のパラメーターで指定したブレンド率による色加算合成コピーを行ないます。 色加算では、コピー先のRGB値に、コピー元のRGB値を加算します。加算時に輝度が255を越える場合は、255にクランプされます。
  • モード6 = 色減算合成コピー
    フルカラーモード時のみ使用することができます。 HSPHelp:gmodeの4番目のパラメーターで指定したブレンド率による色減算合成コピーを行ないます。 色減算では、コピー先のRGB値から、コピー元のRGB値を減算します。減算時に輝度が0を下回る場合は、0にクランプされます。

これらのモードは、HSPHelp:gzoom命令では使用されません。あくまでもHSPHelp:gcopy命令使用時なので注意してください。 また、HSPHelp:gmodeは現在HSPHelp:gsel命令で選択されているウインドゥID のモードが変更されます。 HSPHelp:gmodeの設定後に、別なウインドゥIDで HSPHelp:gcopy命令を実行しても設定が反映されないので注意してください。

また、モード0以外でコピーを行なう場合には、 コピー元やコピー先の画面初期化Xサイズ(横サイズ)が4の倍数になるように注意してください。 HSPでは、高速化のためXサイズが4の倍数でないコピーをサポートしていません。 Xサイズが4の倍数でない場合にモード0以外でコピーを行なうときは 画像が斜めに崩れるなどの不具合が起こることがあります。

(p2,p3)はコピーサイズのデフォルトを設定します。 この値は、HSPHelp:gcopy,HSPHelp:gzoom命令でコピーする大きさの値を省略した場合にデフォルトで使われるサイズです。

備考

ver2.6標準命令

参照