トップページ > 過去ログ > 記事閲覧
DerivationGraphについて
名前:Via 日時: 2012/03/20 14:48

DerivationGraph関数についての疑問なのですが、取得したいと思う画像の幅や高さが、元の画像よりも大きかった場合には、何か不具合があるものでしょうか。 私の方で実験してみた限りですとなにも問題なく動作しているのですが、これが「たまたま今は問題が出ていないだけ」なのか、それとも「仕様上問題が出ないはず」なのかが分かりません。 よろしくお願いします。

Page: 1 |

Re: DerivationGraphについて ( No.1 )
名前:いっち 日時:2012/03/21 00:03

仕様としてはどのような動作も保証されないと思いますが、 Viaさんの想定する「問題のある動作」とはどういったものなのでしょうか? たとえば、強制終了などはさすがに起こらないような作りになっていると思います。
Re: DerivationGraphについて ( No.2 )
名前:Via 日時:2012/03/21 10:32

失礼しました。 私が考えている「問題のある動作」は、たとえば DerivationGraph(0,0,200,200,handle)とした場合に、元の画像のサイズが100,100の場合、余分に指定してしまっている分が余白として表示されてしまうケースでした。 実験した結果としては、 DrawGraph(100,100,handle2,TRUE); DrawGraph(0,0,handle,TRUE); とした場合、handleの画像の右下にhandle2の画像は正常に表示されました。なので、たぶんDerivationGraphで元画像より大きく切り取ろうとしてしまったとしても、余分な分に真っ黒な領域を用意するわけではなさそうです。これは DrawGraph(0,0,handle,FALSE); であっても結果が一緒なので、「真っ黒な領域を用意してしまいまするが、透過される」というのとも違う気がします。 とは思うのですが、わずかばかりの実験ですし、私の知識は当てにはならないし、もし関数の仕様上、画像より大きな範囲を指定した場合には画像のサイズまでに自動的にあわせてくれるような仕様があるのなら、ずっと安心できます。 あるいはDrawRotaGraphは確か設定した座標に画像の中心を当てたと思うのですが、余分に切り取った分が画像のサイズに含まれるのか否かによってはその画像の中心の場所も変わってきます。 もちろん、そういった疑問をすべて実験して確かめていくことはできますし、必要ならばするつもりではいるのですが。 あとは、プログラムにまだ慣れていない身としては、わからないままに触るのが怖いという気持ちもあります。
Re: DerivationGraphについて ( No.3 )
名前:h2so5 日時:2012/03/21 16:40

DXライブラリのソースコードを確認したところ、 DerivationGraphで元画像より大きな範囲を指定した場合は元画像にあわせて自動的に範囲を縮小する仕様になっていました。 (ただし右下方向のみ) 結論としては、Viaさんの考える「問題のある動作」は発生しないことになります。 しかし、元画像より大きな範囲を指定してしまうのは明らかにプログラム上のミスなので、 それが発覚しにくいDerivationGraphの仕様が「安心」かどうかは私には分かりません。 本来はDerivationGraphの仕様がどうであろうと、元画像より大きな範囲を指定してしまうことが無いようにすべきです。
Re: DerivationGraphについて ( No.4 )
名前:Via 日時:2012/03/21 20:13

調べていただいてありがとうございました。 助かります。 ひとまず、うっかりしてしまっても大事には至らないということで安心しました。

Page: 1 |