2010-12-20 27 views
2

私の質問がやや曖昧であれば申し訳ありません。私がQtで何かをしてから数年経ってから、私は決してイメージ画像を作ったことはありませんでした。私が以下に求めているのは、クラスの使用を検討する一般的な提案です。私は最初から間違った木を吠えるのを避けようとしています。Qtでスクロール可能なズーム可能な画像を描画する

状況:私は幾分大きい(5000x5000と言う)ラスタイメージを表示する必要があるQtベースのプログラムを作成しています。ユーザーは、たとえば、Googleマップなどのように、画像をズーム(すばやく)またはズームインしたり、パンすることができます。これまでのところ、the Qt ImageViewer exampleと大きく異なるわけではありません。しかし、イメージの上に50kの単純な幾何学的図形(サークルと言う)のオーダーを描き、簡単な方法でこれらをいくつか追加したり削除したりする必要があります。サークルはズームレベルに関係なく同じサイズでなければならないため、ユーザーがズームするたびに再描画するか、ベクターグラフィックスで描画する必要があります。サークルをマップ注釈と考えてください。これらはいずれのズームレベルでも同じように見えるはずで、パンニングに関してもうまく動作します。

私は私の質問は2つあり推測:

  1. はQtは、ラスタ画像の上に、ベクトルグラフィックスを描画することはできますか?
  2. 一般的に、私は上記のクラスについてどのクラスを考慮する必要がありますか?

ありがとうございます。 Qtのグラフィック機能を経験している人には、答えがあるかもしれません。

答えて

5

これはQGraphicsViewと友だちをお勧めします。すべてのビュー/ワールド変換を処理するのに役立ち、ベクトル項目はさまざまなQGraphicsItemsで実現できます。

一定の見た目のサイズを維持するためにズームレベルが変更されると、アイテムのサイズを変更できます。

+0

これは私が欲しかったのとまったく同じです。ありがとう。 – gspr

関連する問題