トップページ > 過去ログ > 記事閲覧
DrawStringとDrawBox
名前:なに 日時: 2011/02/07 01:12

DrawStringで文字を黒(GetColor(0,0,0))で表示させたところ 文字の上部(アの横棒など)のみ灰色となっていました また、リファレンスにあったようにDrawBox(0,0,639,479)のようにして塗りつぶしを行うと ウィンドウの端に沿って1ドットの線が残ってしまいます www1.axfc.net/uploader/Img/so/107422&key=ss SaveDrawScreenを用いたSSはこれで、 ソースは #include<DxLib.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE); SetWindowSizeChangeEnableFlag(TRUE); if( DxLib_Init() == -1 ) return -1; DrawBox(0,0,639,479,GetColor(255,255,255),1); if(DrawString(0,0,"アロ口",GetColor(0,0,0))==-1) return -1; //ここで"ア"の横棒の先端の色を抽出 int a=GetPixel(2,2); DrawFormatString(20,20,GetColor(0,0,0),"%d %d %d",a,GetColor(0,0,0),GetColor(255,255,255)); SaveDrawScreen(0,0,640,480,"ss.bmp"); WaitKey(); //さっき抽出したのが何色か見てみる DrawBox(0,0,639,479,a,1); WaitKey(); DxLib_End() ; return 0; } 原因がわかる方いらっしゃいますか? 環境は Windows7 VC++2008EE

Page: 1 |

Re: DrawStringとDrawBox ( No.1 )
名前:T 日時:2011/02/07 12:36

DrawBoxに関しては、引数ではx2, y2、解説ではx2-1, y2-1となっていることに注意してください >>x2 , y2 : 描画する四角形の右下+1の頂点座標 >>( x2 - 1, y2 - 1 )を右下の頂点と する四角形 例えば横幅640としたとき、右端の座標は639となりますが、これではやりづらいので640という値を引数にしてくれ、といったことが書かれています DrawStringの方は私の環境(Vista32bit,VC++2008EE)では起こりませんでした
Re: DrawStringとDrawBox ( No.2 )
名前:いっち 日時:2011/02/07 18:25

> DrawStringで文字を黒(GetColor(0,0,0))で表示させたところ > 文字の上部(アの横棒など)のみ灰色となっていました 事象発生時のLog.txtをご提供頂けますか? また、フルスクリーンで色深度32bitの場合どのような結果になるのでしょうか?
Re: DrawStringとDrawBox ( No.3 )
名前:なに 日時:2011/02/07 23:09

>>Tさん そ、そうだったんですか…完全に読み違えてました ただ、そうするともう一つ問題が DrawBox(0,0,640,480)とした場合、右部と下部の色は消えるものの、 上部と左部は依然灰色を保ってしまっています(以下はわかりやすく黄色で試した結果) www1.axfc.net/uploader/Img/so/107471&key=ss なにか設定をミスってしまっているのかな… >>いっちさん Change〜とSet〜を抜き、SetGraphMode(640,480,32)を追加したのですが 結果は変わらずでした ログも量が多かったのでここに www1.axfc.net/uploader/Sc/so/202755&key=log ふと思い立ちXPモードで行ったところ、 両現象とも起こらずでした www1.axfc.net/uploader/Img/so/107473&key=ss
Re: DrawStringとDrawBox ( No.4 )
名前:管理人 日時:2011/02/13 19:05

ご報告ありがとうございます 何故かアンチエイリアスが適用されてしまっているようです・・・ デスクトップ画面の何も無いところを右クリックしたときに表示されるメニューの中から 「NVIDIAコントロールパネル」が起動できまして、その中の設定でソフトウエア側で アンチエイリアスを使用しない設定にしていても強制的にアンチエイリアスを使用するように することができるので、もしかしたらその「強制アンチエイリアス」機能が有効に なってしまっているのかもしれません もしよろしければ設定がそのようになっていないか確認してみていただけないでしょうか?
Re: DrawStringとDrawBox ( No.5 )
名前:なに 日時:2011/02/17 20:46

どうもそのようでした^^; お騒がせてしまってすみません

Page: 1 |