ページ 1 / 1
DrawModiGraph()関数について
Posted: 2009年8月06日(木) 20:09
by tatelis
DrawModiGraph() 関数について質問です。
対角線を描いた長方形の画像があるとします。
この画像を DrawModiGraph() 関数で台形に変形すると、
元の画像では直線だった対角線が曲線になってしまいます。(X→乂)
「直線を直線に」移すように変形するためにはどうすればよいのでしょうか?
Re:DrawModiGraph()関数について
Posted: 2009年8月07日(金) 02:48
by tatelis
一応・・・ですが下記手順で自己解決しました。
1.2 のべき乗サイズのソフトウエアイメージハンドル H を新しく作成する。
2.元の画像 G(プログラムの仕様上サイズ固定、しかもかなり大きい)をメモリに読み込む。
3.H の各座標に対応する G の色を比の計算で求めて 1 ドットずつ塗っていく。
4.H を元にグラフィックハンドル G2 を作成する。
5.G2 を 3D ポリゴン 2 枚にし、奥行き Z を正しく設定することで台形に表示する。
元の画像が 1024*1024 をはるかに越えるほど大きく、また 2 のべき乗サイズでないため
このように面倒なことになってます^^;
もっとスマートな方法があればいいんですが・・・
Re:DrawModiGraph()関数について
Posted: 2009年8月07日(金) 03:07
by Justy
どちらが高速かは分かりませんが、2のn乗の空テクスチャを作って
それにGを縮小レンダリングすれば 4のG2を作るのに面倒な計算を
しなくても済むのではないでしょうか。