7章.キャラクタの反転コピー
1999.7.5


キャラクタを反転してコピーすることが出来ます。反転の種類には「上下に反転」「左右に反転」「上下左右に反転」の2種類があります。







この反転の操作は簡単に使用する事が出来ます。
まずは、反転しない画像と上下に反転させた画像を表示するプログラムを載せますので実行してみて下さい。
ポイントとなる所は赤いところです。
  CH=G@SETUP( 640 , 480 , 16 , 1 )        //画面初期化
  BM=G@CHRLOAD("tpot.bmp")                //画像読み込み
  G@CHRCLEAR( CH )
  G@FLIP( )
  G@CHRCLEAR( CH )
  LOOP
    G@CHRRECT( CH , 62 , 40 )            //コピー先矩形セット
    G@CHRCOPYF( BM , CH , 0 )            //画像を画面にコピー
    G@CHRRECT( CH , 382 , 40 )           //コピー先矩形セット
    G@CHRCOPYF( BM , CH , 0 , 1 )        //画像を画面に上下反転コピー
    G@FLIP( )                            //フリップ
  ENDLOOP

テスト用画像
tpot.bmp



G@CHRCOPYF関数(G@CHRCOPYも同様)の4番目の指定値に1を指定しただけです。(未指定=0)
同様に左右への反転は2を、上下左右の反転には3を指定します。全ケースを表示するプログラムを次に載せますので参考にして下さい。

  CH=G@SETUP( 640 , 480 , 16 , 1 )        //画面初期化
  BM=G@CHRLOAD("tpot.bmp")                //画像読み込み
  G@CHRCLEAR( CH )
  G@FLIP( )
  G@CHRCLEAR( CH )
  LOOP
    G@CHRRECT( CH , 62 , 40 )            //コピー先矩形セット
    G@CHRCOPYF( BM , CH , 0 )            //画像を画面にコピー
    G@CHRRECT( CH , 382 , 40 )           //コピー先矩形セット
    G@CHRCOPYF( BM , CH , 0 , 1 )        //画像を画面に上下反転コピー
    G@CHRRECT( CH , 62 , 280 )           //コピー先矩形セット
    G@CHRCOPYF( BM , CH , 0 , 2 )        //画像を画面に左右反転コピー
    G@CHRRECT( CH , 382 , 280 )          //コピー先矩形セット
    G@CHRCOPYF( BM , CH , 0 , 3 )        //画像を画面に上下左右反転コピー
    G@FLIP( )                            //フリップ
  ENDLOOP

テスト用画像
tpot.bmp