2

RS 2008 ベータ版や RC0 などを使用してチャートを生成する際、軸ラベルや凡例などのフォントを指定したことはありません。それらはすべてデフォルトで Arial フォントでレンダリングされ、見栄えがよくなりました。しかし、RS 2008 final に切り替えるとすぐに、フォントがすべて台無しになりました。それらは、ある種の太字のコンソール フォントでレンダリングされます。

私の最初の考えは、デフォルトが変更されたということでした-フォントを明示的にArialに設定しようとしました(RDLまたはデザイナーのいずれかを使用)。それは機能しませんでした - 特定のフォントのみが機能するようです (例: Calibri)。さらに奇妙なことに、凡例はフォント設定をリッスンしません。常にこの醜い太字でレンダリングされます。もう 1 つの考えは、フォントがどこかにない可能性があるということでしたが、Tablix 要素は同じフォントを使用しており、動作しているようです。

この動作は普遍的です。開発スタジオのプレビュー、レポート表示コントロールを使用し、使用可能なすべての形式にエクスポートしているときに見られます。

だから、明らかに、私は立ち往生しています - 誰かがこの動作に遭遇したことがありますか?

4

1 に答える 1

3

以前にこの動作を見たことがあります。SSRS ではなく、.NET デスクトップ アプリケーションの GDI+ レンダリングで。これは、透明度をサポートしないアンチエイリアシングとパレットに関係しています。グリフの周囲のほぼ透明なピクセルはすべて無地に強制されます。

Calibri のようなポスト LCD フォントでは、この効果は得られません。これは、鮮明に定義されたピクセルを持つ LCD ディスプレイでのレンダリングを改善するために、ピクセル境界に合わせて配置されているためです。CRT では、色が隣接するピクセルににじみ出て、本質的にアナログ アンチエイリアシングが生成されます。(これが、テレビの画像が恐ろしく解像度が低いことを考えると、本来よりもはるかに良く見える理由です。)

私は GDI でそれを回避する方法を見つけました。とはいえ、レンダリング コードにアクセスできないため、修正を適用できない可能性があります。実際、私は覚えていると思います-背景を透明ではなく白に明示的に設定し、グラフィックスカードがそれを行うことを期待する代わりに、GDIにエッジカラーの合成を強制しました。この回答を使用できるかどうかわかりません。申し訳ありません。

于 2008-10-03T01:56:10.470 に答える