2009-04-02 5 views
1

WPFを使用して新しいC#アプリケーションを開発しています。私はWPFがベクタベースであり、テキスト/ボタンが解像度に依存しない方法で描画されるという印象を受けました。アプリケーションを実行しているときは、アプリケーションをベクターで描画していないことは明らかです。テキストの一部はかなりぼんやりとしています。窓の拡大鏡を使用すると、すべての部分に粗いエッジが見えます。WPFベクトルベースのインターフェイス

ベクター描画をオンにするには、アプリケーションで何か特別なことが必要ですか?または私の特定のマシンで何か問題がありますか? (私は最新のグラフィックスドライバでWindows Vista x64を実行しています)

+0

あなたが見ているブロック感を示すスクリーンショットを投稿することもお勧めします。 –

答えて

4

これをコメントとして追加するつもりでしたが、適切に引用して脚注を付けたいと思います。

Windows VistaのMangifierアクセシビリティツールをWPF対応にする。 WPFのコンテンツを拡大すると、アプリの鮮明な拡大版が表示されます。これは、WPFが実際にベクトルベースであることを示しています。

ティムSneath氏、マイクロソフトとの技術evanglist、blogged about this in 2006

enter image description here

2001年6月25日:オリジナル画像がなくなって。同じ効果を示す別の画像に置き換えられました。

Greg Schechter answers some commenters on this blog、拡大鏡にはもうこのトリックはありません。拡大鏡はWPFアプリケーションを特別に検出し、拡大表示する方法を知っています。彼らは、拡大鏡でWPFの依存関係を削除しました。拡大鏡は、彼らが離れたりdepricate撮りたかったことをWPFで何かに依存していたようです:

どちらも「BP」と「ジョセフ・クーニー」 はWPF コンテンツの倍率はOS に建て使用していることに気づきました拡大鏡はもう解決しません コンテンツの単独ズーム。

これは正しいことです。

ここ を記述するためには多すぎる変化 の一連の結果、OSの拡大鏡は、もはや 「WPF対応」ではありません、ビットマップは、それが他のコンテンツの場合と同じように をスケーリングありません。私たちは、この機能を失うんが は、我々は WPF固有の方法で動作するように拡大鏡を有効に依存関係 せずに、私たちは前進WPFの顧客 に提供するもので 機敏ことができると信じてい 。

上記は、約 アウトプロセスの倍率であることに注意してください。 あなたが 独自のWPFアプリケーション内(スケーリング経由)ズームないとき、 レンダリングが 高いスケールで再ラスタライズされ続け、その すべてがその最も 一般的なシナリオでなめらかなまま。この変更は、外付けの ルーペを使用する場合、厳密には です。

だから、もはや拡大鏡はそれを持っていましたが、もはやそれはありません。チャンネル9のビデオ「Greg Schechter: Windows Presentation Foundation(WPF) Architecture」で


、グレッグシェクターは拡大鏡がこの機能を提供するために使用する方法について話しました。

拡大鏡とDWMが連携しました。拡大鏡はDWMシーングラフを変更して、クライアント領域を実際にシーングラフのデスクトップルートを指すようにしました。 DWMは拡大鏡がそこにあることを知っていて、その恐ろしい「カムコーダーをテレビに映してビデオカメラを見せて」ということを避ける方法を知っていました。

0

Vistaの拡大鏡は特に巧妙ではありません。すでにラスタライズされた画像を画面から吹き飛ばすだけです。テキストボックスが実際にベクターベースであることを確認するには、adjusting your DPI settingsを試してください。

編集:コメントから、Vistaの拡大鏡は結局ベクトルスケーリングを行うはずです。確かにこのコンピュータ(Vista 32ビット版)にはないので、私は同じ問題を抱えている可能性があります。しかし、DPIスケーリングは機能します...

+0

実際には、XPの拡大鏡は特に巧妙ではありません。 Vistaのものは、ベクトルグラフィックの正しいスケーリングを行うことになっています。 –

+0

Vista拡大鏡は正しいベクトルスケーリングを行います。 WPFアプリケーションでこれまでに見たことがありますが、私がなぜ私の中で働いていないのか分かりません。 –

+0

本当ですか?このコンピュータの虫めがね(Vista 32ビット)は、自分のWPFアプリケーションを正確に拡大することはできません。私はいつもそれをサポートしていなかったからだと思っていましたが、私はOPと同じ問題を経験しているかもしれません... –

関連する問題