画面コピーモード設定
gmode p1,p2,p3,p4
p1=0~6(0) : 画面コピーモード p2=0~(32) : コピーする大きさX(ドット単位) p3=0~(32) : コピーする大きさY(ドット単位) p4=0~256(0) : 半透明合成時のブレンド率
gcopyで使用されるモードおよび、サイズ、ブレンド率などを設定します。 それぞれのコピーモード動作は以下の通りです。 ・モード0 = 通常のコピー WindowsのシステムAPI(BitBlt関数)を使った画像コピーを行ないます。 最も標準的なモードです。 多くの場合、他のモードよりも高速に処理されます。 ・モード1 = メモリ間コピー 画像バッファ間のメモリコピーを行ないます。 コピー元とコピー先は、同じ画像モード(パレットモード・フルカラーモード)でなければなりません。 動作は モード0と同じですが、非常に小さいサイズ(16*16ドット以下等)のコピーを行った際 モード0よりも 若干 高速になる場合があります。 ・モード2 = 透明色付きコピー モード1と同様の方法でコピーを行ないますが、 RGBがすべて0(完全な黒)のドットは透明色とみなされコピーされません。 ・モード3 = 半透明合成コピー フルカラーモード時のみ使用することができます。 gmodeの4番目のパラメーターで指定したブレンド率による半透明合成コピーを行ないます。ブレンド率は0~256の値となり、256で完全なコピーになります。 ブレンド率が0の場合はコピーは実行されません。 また、ブレンド率が256以上はメモリ間コピーが実行されます。 ・モード4 = 透明色付き半透明合成コピー モード3と同様の方法でコピーを行ないますが、RGB値が color命令で設定された色と同じドットは透明色とみなされコピーされません。 ブレンド率が0の場合はコピーは実行されません。 ・モード5 = 色加算合成コピー フルカラーモード時のみ使用することができます。 gmodeの4番目のパラメーターで指定したブレンド率による色加算合成コピーを行ないます。色加算では、コピー先のRGB値に、コピー元のRGB値を加算します。 加算時に輝度が255を越える場合は、255にクランプされます。 ・モード6 = 色減算合成コピー フルカラーモード時のみ使用することができます。 gmodeの4番目のパラメーターで指定したブレンド率による色減算合成コピーを行ないます。色減算では、コピー先のRGB値から、コピー元のRGB値を減算します。減算時に輝度が0を下回る場合は、0にクランプされます。 ・モード7 = ピクセルアルファブレンドコピー フルカラーモード時のみ使用することができます。 gmodeで指定されたサイズの画像を、元画像の右側に用意しておき、 右側の画像をアルファブレンド成分として背景合成コピーを行ないます。 アルファブレンド成分が255の場合は、 そのまま元画像のピクセルがコピーされ、255より小さい場合には、そのブレンド率で背景と合成されます。 ピクセルはRGB単位で参照されるため、RGBに異なるブレンド率を設定可能です。 アルファブレンド画像は、通常 (0,0,0)~(255,255,255) のグレースケールで表現するといいでしょう。 これらのモードは、gzoom命令では使用されません。 あくまでもgcopy命令使用時なので注意してください。 また、gmodeは現在 gsel命令で選択されているウィンドウIDのモードが変更されます。gmodeの設定後に、別なウィンドウIDでgcopy命令を実行しても設定が反映されないので注意してください。 (p2,p3)はコピーサイズのデフォルトを設定します。この値は、gcopy,gzoom命令でコピーする大きさの値を省略した場合にデフォルトで使われるサイズです。
gcopy | 画面コピー |
gmode_add | 色加算合成コピーモード |
gmode_alpha | 半透明合成コピーモード |
gmode_gdi | 通常のコピーモード |
gmode_mem | メモリ間コピーモード |
gmode_pixela | ピクセルアルファブレンドコピーモード |
gmode_rgb0 | 透明色付きコピーモード |
gmode_rgb0alpha | 透明色付き半透明合成コピーモード |
gmode_sub | 色減算合成コピーモード |
バージョン | 3.6 |
作成日 | 2019/04/09 |
著作者 | onitama |
URL | http://hsp.tv/ |
備考 | ver3.6標準命令 |
タイプ | 内蔵命令 |
グループ | 画面制御命令 |
対応環境 |
|
移植のヒント | HSPLet時、モード7はサポートしていません。 |
hs ファイル | hsphelp\i_graph.hs |