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;
}
}
}