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

Graphics 类在 WinForms 应用程序中绘制图像。它在重绘期间闪烁屏幕并且性能很差,因为它依赖于 GDI。这可能是一个限制。

要获得平滑的结果,请使用支持 DirectX 的 WPF。

于 2012-07-18T05:45:08.740 回答
0

对此的解决方案是将 FillRectangle 与 TextureBrush 一起使用。

    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

我没有找到找到此内容的网站,但请尝试以下操作

g.InterpolationMode = InterpolationMode.NearestNeighbor;
于 2014-02-18T22:13:42.453 回答