public StretchMode(IntPtr hdc, StretchModeEnum mode) { _eOldMode = (StretchModeEnum)GetStretchBltMode(hdc); _pHdc = hdc; SetStretchBltMode(hdc, mode); }
public StretchImage(IntPtr sourceDc, IntPtr destDc, Rectangle src, Rectangle dest, int depth, StretchModeEnum eStretchMode) { _eOldMode = (StretchModeEnum)GetStretchBltMode(sourceDc); _pHdc = sourceDc; SetStretchBltMode(sourceDc, eStretchMode); // left StretchBlt(destDc, dest.Left, dest.Top, depth, dest.Height, sourceDc, src.Left, 0, depth, src.Height, 0xCC0020); // right StretchBlt(destDc, dest.Right - depth, dest.Top, depth, dest.Height, sourceDc, src.Right - depth, 0, depth, src.Height, 0xCC0020); // top StretchBlt(destDc, dest.Left + depth, dest.Top, dest.Width - (2 * depth), depth, sourceDc, src.Left + depth, 0, src.Width - (2 * depth), depth, 0xCC0020); // bottom StretchBlt(destDc, dest.Left + depth, dest.Bottom - depth, dest.Width - (2 * depth), depth, sourceDc, src.Left + depth, src.Bottom - depth, src.Width - (2 * depth), depth, 0xCC0020); // center StretchBlt(destDc, dest.Left + depth, dest.Top + depth, dest.Width - (2 * depth), dest.Height - (2 * depth), sourceDc, src.Left + depth, depth, src.Width - (2 * depth), src.Height - (2 * depth), 0xCC0020); }
private static extern bool SetStretchBltMode(IntPtr hdc, StretchModeEnum eStretchMode);