OpenGLで描画した画像の上にPaintBoxで描画した線を表示するには?

解決


こみや  2014-02-27 23:14:49  No: 46088

OpenGL を用いて TPanel に画像(主にJPEG)を任意の大きさ・位置で表示し、その上に PaintBox を置いて、矩形の線を表示させたいと考えております。

動作としては、画像に表示された物体を注目付けるように枠で囲う、と考えていただければと思います。

画像は多少湾曲しているため、目視と同じように見せるためにテクスチャとして貼り付けています。

OpenGL の操作として、マウスによる表示位置の変更やマウスホイールによる拡大縮小もできるようにしています。
PaintBox の枠線も、手動で移動できるようにしています。
OpenGL の操作と PaintBox の操作は切替制ですので、どちらかを行っているときはもう一方は操作できないようになっています。

問題となっているのは、画像を描画しているパネルの上に PaintBox を置くと、 PaintBox の線が消えてしまうということです。
ためしに、OpenGL で描画後に PaintBox を Refresh させると、今度はパネルの画像が消えてしまいます。
パネルの画像とPaintBoxの線の両方を表示するには、どうすればいいか教えていただけませんでしょうか。
よろしくお願いいたします。


こみや  2014-02-27 23:17:22  No: 46089

失礼しました。
環境は Delphi XE3 です。


こみや  2014-03-08 02:02:47  No: 46090

自己解決しました。
Delphi で OpenGL を使用する方法はあまりないため、解決までにかなりの時間を要しました。

この掲示板でもいくつか方法が記載されていましたが、何故か Windows7 と Delphi(7、2010、XE3)ではサンプル等を流用してもうまく動かなかったため、こうして質問させていただきましたが、Delphi で OpenGL を使用されている方がいらっしゃらないのでしょうか…

ともあれ、何とかなりそうですので、この質問は解決とします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加