トップページ > 過去ログ > 記事閲覧
グラフィックからの分割グラフィックハンドルを作成について
名前:トロピコ 日時: 2008/10/19 19:18

はじめまして。 メッセージ表示で「1文字単位ずつ任意で色や表示速度を指定して文字を 描画する」ために、MakeGraphで作成して文字を描画したグラフィックハンドル から分割グラフィックハンドルを作成したいのですが、 CreateDivGraphFromMem()の第一引数と第二引数となるグラフィックハンドルの データへのポインタとサイズは、どのようにして取得すればよいのでしょうか? よろしくお願いいたします。 //---< ソースの一部抜粋 >----------------------------------------------- SetDrawValidGraphCreateFlag( TRUE ); int THandel = MakeGraph(512, 512); //描画可能なグラフィック(THandel)作成 SetDrawValidGraphCreateFlag(FALSE); SetDrawScreen(renderScreen);レンダリング先の指定する //---- (1) 作成しておいたフォントで、均等にスペース空けて文字列を描画する SetFontSpaceToHandle(10, FontHandle ) ; DrawStringToHandle(20 , 90 , "テスト文字描画" , GetColor( 255 , 255 , 255 ) , FontHandle) ; SetDrawScreen(DX_SCREEN_BACK); レンダリング先を変更 //----(2) ここが不明。CreateDivGraphFromMem()にTHandelのデータを渡したい。 int GHandle[64]; CreateDivGraphFromMem(?, ?, 64, 8, 8, 32, 32, GHandle); DrawGraph(0, 0, GHandle[1], TRUE) ; //任意の文字を描画する。 ScreenFlip(); //-----------------------------------------------------------------------

Page: 1 |

Re: グラフィックからの分割グラフィックハンドルを作成について ( No.1 )
名前:管理人 日時:2008/10/25 17:16

ご希望の処理を行うためには CreateDivGraphFromMem ではなく DerivationGraph を使用することになります <<DerivationGraph>> http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html#R3N21 こちらは関数一つで分割ハンドルを一気に作ることはできませんので for文を使用することになります //----(2) ここが不明。CreateDivGraphFromMem()にTHandelのデータを渡したい。 int GHandle[64]; CreateDivGraphFromMem(?, ?, 64, 8, 8, 32, 32, GHandle); DrawGraph(0, 0, GHandle[1], TRUE) ; //任意の文字を描画する。 ScreenFlip(); ↓ //----(2) ここが不明。CreateDivGraphFromMem()にTHandelのデータを渡したい。 int GHandle[64], i, j; for( i = 0; i < 8 ; i ++ ) { for( j = 0 ; j < 8 ; j ++ ) { GHandle[ i * 8 + j ] = DerivationGraph( j * 32, j * 32, 32, 32, GHandle ); } } DrawGraph(0, 0, GHandle[1], TRUE) ; //任意の文字を描画する。 ScreenFlip();
Re: グラフィックからの分割グラフィックハンドルを作成について ( No.2 )
名前:トロピコ 日時:2008/10/25 20:24

管理人さま。 DerivationGraph()を使用することで、目的の処理を 行うことができました。 ありがとうございました!

Page: 1 |