動く画像によって発生するギザギザ部分を綺麗に描画する方法

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

動く画像によって発生するギザギザ部分を綺麗に描画する方法

#1

投稿記事 by ぬるぽ » 15年前

こんにちは。名前を統一したいと思うのでこれからはこの名前で質問したいと思います。
龍神録を改造して遊ばさせて貰ってます。
困ったことがあったのですが、縦長の長方形の画像を
下記のプログラムで左右にぐらぐら動かすようにしてるのですが
左右に動くとき、画像にギザギザが発生して、綺麗に描画されません。

int DrawRotaGraphFdF( double xd, double yd, double ExRate, double Angle, int GrHandle, int TransFlag, int TurnFlag = FALSE ) {
return DrawRotaGraphF((float)xd+FX+dn.x,(float)yd+FY+dn.y,ExRate,Angle,GrHandle,TransFlag,TurnFlag);
}

DrawRotaGraphFdF(X,Y,
1,
sin(PI2*(control.pause_cnt%240)/240)*0.2, //240の値=降り速度、0.2の値=降り幅
img, TRUE);

念のため、バイリニア法を使ってみて描画もしてみたのですが
SetDrawMode( DX_DRAWMODE_BILINEAR );
DrawRotaGraphFdF(X,Y,
1,
sin(PI2*(control.pause_cnt%240)/240)*0.2, //240の値=降り速度、0.2の値=降り幅
img, TRUE);
SetDrawMode(DX_DRAWMODE_NEAREST);

変化はありませんでした。
ギザギザが消えて綺麗に描画する方法があれば知りたいのですが、
分かる方がいましたら教えてください。よろしくお願いします。

ookami

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#2

投稿記事 by ookami » 15年前

ガッ。

ギザギザになるという画像を添付していただいた方がいいかもしれません。

あと、環境(グラボなど?)依存の可能性もありますから、
一式をアップしてもらって、いろいろな人に試してもらうというのも
よいかもしれません。

あと、「画像にギザギザ DXライブラリ」でググったところ、一番上のページがこちら...
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ast&no=899
(このdixqって...アッー)
話題が近そうかなと思ったのですが、参考になりますでしょうか?

ぬるぽ

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#3

投稿記事 by ぬるぽ » 15年前

返答ありがとうございます。
URLに関しては、あまり関係ないようでした。
画像は添付しました。
一式に関しては龍神録50章から即興で作ったのでうpろだにうpします。

※約一日で流れて消えますので注意
http://www.dotup.org/uploda/www.dotup.o ... 9.rar.html
パス:sage

画面中央にそのギザギザになる画像を配置して動かしてるので
調べて貰えないでしょうか?
プログラム部分はgraph.cppの一番下に書いてます。
よろしくお願いします。

wing

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#4

投稿記事 by wing » 15年前

グラデーションのことですね。

Dxライブラリーは初期設定が16ヒットなのでフルスクリーンでは
そのようになります。
Dxlib_Init()の前にSetGraphModeで32ビットにしてあげれば、うまくいくと思います。

SetGraphMode( 640 , 480 , 32 ) ;
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化


toyo

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#6

投稿記事 by toyo » 15年前

グラデーションじゃなくてジャギーのことです
斜めの線が画像一番上のように階段状になる現象です
周りを中間色でぼやかさないといけないのですがその方法が知りたいということです

wing

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#7

投稿記事 by wing » 15年前

ぴよぴよだったからこういうことかもしれないと思って回答しました。
熟練のプログラマーだったら絶対回答しません。

余計な回答をして申し訳ありませんでした。

Justy

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#8

投稿記事 by Justy » 15年前

 こんな感じでエッジ周辺にアンチエイリアスを入れてあげれば大夫マシになるのでは?

ぬるぽ

Re:動く画像によって発生するギザギザ部分を綺麗に描画する方法

#9

投稿記事 by ぬるぽ » 15年前

なるほど。画像に問題があったのですね。
Justyさんのおかげでなんとか綺麗に描画することができました。
他の方々もアドバイスありがとうございました。

閉鎖

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