2012-03-21 14 views
0

私はカスタムコントロールを持っていて、バックグラウンドグラデーションを適用しています。コントロールは左右にアンカーに設定され、画像はコントロール上でストレッチに設定されます。コントロールの背景が表示されない方法

これは、通常のサイズのフォームで背景画像がどのように見えるかです。ここで

Normal

制御が引き伸ばされたときに背景画像が見えるものです。明らかに

Distorted

私はそれは限りエッジが行くように、トップのようになりたいです。私はInkscapeを使って背景イメージを開発しています。このぼんやりしたエッジを回避する方法についての助けがあれば、大いに感謝します。

答えて

3

私はあなたのコントロールで、すべてのエッジと各コーナーと中央のコンテナに1つの画像を試してみることをお勧めします。すべての画像を良好なアンカーで設定すると、上端と下端が左右に伸び、左右が上下に伸びます。コーナーは決して変わらず、容器は完全に伸縮可能である。私はそれがwinformにあるので、ちらつきが心配です。試してみる価値がある。

固定イメージを使用すると、イメージが大きくて縮小しても、コーナーの比率が失われます。

+0

私はWPFコントロールを使用していただけで、奇妙なことに気にする必要はありませんか? – meanbunny

+0

エリック、このアプローチで行くつもりです。 – meanbunny

0

イメージのサイズが変更されると、新しいイメージの欠けているピクセルに近似します。ぼかしの発生を防ぐために行うことは何もありません。私が思う唯一の賢明な選択肢は、イメージを高解像度に追加することです(Inkscapeを使用して作成するので簡単にできます)。ストレッチする代わりにイメージを縮小します。

+0

Inkscapeで高解像度の画像を書き出しようとしたところ、正常に動作しました。しかし、私がコントロールの背景画像に設定すると、BackgroundImageLayoutを伸ばすように設定しない限り、明らかに縮小していません。助言がありますか? – meanbunny

+0

コントロールの背景のサイズは?Inkscapeからエクスポートされる画像のサイズは? – Amiramix

+0

私は、私のぼんやりした問題を解決する非常に大きな考え方として背景をエクスポートしました。だから私は1380 x 166のようなことをして、私のコントロールは普通の幅で520 x 166です。もちろん、最大化すると幅が広がります。 – meanbunny

関連する問題