using System.Drawing; using System.Drawing.Drawing2D; namespace Microsoft.Drawing { /// /// 暂时修改绘图对象的像素偏移模式,释放时改为原来模式 /// public sealed class PixelOffsetModeGraphics : DisposableMini { private PixelOffsetMode m_OldMode; //原始的像素偏移模式 private Graphics m_Graphics; //要修改像素偏移模式的绘图对象 /// /// 构造函数,暂时修改为默认像素偏移 /// /// 绘图对象 public PixelOffsetModeGraphics(Graphics graphics) : this(graphics, PixelOffsetMode.Default) { } /// /// 构造函数 /// /// 绘图对象 /// 新像素偏移模式 public PixelOffsetModeGraphics(Graphics graphics, PixelOffsetMode newMode) { this.m_Graphics = graphics; this.m_OldMode = graphics.PixelOffsetMode; graphics.PixelOffsetMode = newMode; } /// /// 释放资源 /// /// 释放托管资源为true,否则为false protected override void Dispose(bool disposing) { if (this.m_Graphics != null) { this.m_Graphics.PixelOffsetMode = this.m_OldMode; this.m_Graphics = null; } this.m_OldMode = PixelOffsetMode.Default; } } }