図形描画関数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
夏天

図形描画関数

#1

投稿記事 by 夏天 » 15年前

DXライブラリの図形描画関数に関しての質問なのですが
中をくりぬいた図形を描画するときに枠線が1ピクセルしかないのですが
コレの太さを変えることは可能ですか?

もしも出来ないのなら
どうすれば太い中抜きの画像を書くことが出来ますか?

描きたい図形は
円、三角、四角、直線
の4つです

Ma

Re:図形描画関数

#2

投稿記事 by Ma » 15年前

直線とかは、第6引数に太さを指定できます。

extern int DrawLine( int x1, int y1, int x2, int y2, int Color, int Thickness = 1 ) ;
それ以外は、図形を少しずらして描画する方法を私はとっています。
もし、たくさん使うなら太さを引数に持ったオリジナル関数を作るのがいいかと。

ちょうど、昔作った関数がのこっていたのでのせます。


中を埋めない場合は、 fillColor に 0 を指定してください。
透明度0なら alpha には 256を。
border に太さを指定してください。
void DrawFrame(int x,int y,int width,int height,int border,int borderColor,int fillColor,int alpha){
    SetDrawBlendMode( DX_BLENDMODE_ALPHA,alpha) ;
    if(fillColor != 0)
        DrawBox(x,y,x+width,y+height,fillColor,TRUE);
    if(borderColor != 0){
        for(int i = 0; i < border; i++)
            DrawBox(x+i,y+i,x+width-i,y+height-i,borderColor,FALSE);
    }
    SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 ) ;
}

夏天

Re:図形描画関数

#3

投稿記事 by 夏天 » 15年前

お返事遅れてすみません
どうもアリガトウゴザイマス
三角形や円にも挑戦してみます

閉鎖

“C言語何でも質問掲示板” へ戻る