0

次の 3 つの画像があり、それらを使用してアプリケーションの背景を描画したいと考えています。
トップバインダー
センターバインダー
下バインダー

しかし、センターバインダーを拡大して描くと、グラデーションで次のような結果になります。これを解決する方法はありますか?

        g.DrawImage(Resources.Resource.RingBinderTop, new Rectangle((this.Size.Width - 49) / 2, 9, 49, 11));
        g.DrawImage(Resources.Resource.RingBinder, new Rectangle((this.Size.Width - 49) / 2, 20, 49, this.Size.Height - 33));
        g.DrawImage(Resources.Resource.RingBinderBottom, new Rectangle((this.Size.Width - 49) / 2, this.Size.Height - 20, 49, 11));

ここに画像の説明を入力

4

3 に答える 3

0

これに対する解決策は、TextureBrush で FillRectangle を使用することでした。

    g.DrawImage(Resources.Resource.RingBinderTop, new Rectangle((this.Size.Width - 49) / 2, 9, 49, 11));
    g.DrawImage(Resources.Resource.RingBinder, new Rectangle((this.Size.Width - 49) / 2, 20, 49, this.Size.Height - 33));
    g.FillRectangle(new TextureBrush(Resources.Resource.RingBinderBottom), new Rectangle((this.Size.Width - 49) / 2, this.Size.Height - 20, 49, 11));
于 2012-07-23T05:16:20.813 に答える
0

Graphics クラスは、WinForms アプリケーションで画像を描画します。GDIに依存しているため、再描画中に画面が点滅し、パフォーマンスが低下します。これが制限になる場合があります。

スムーズな結果を得るには、DirectX でサポートされている WPF を使用します。

于 2012-07-18T05:45:08.740 に答える