예제 #1
0
        public StretchMode(IntPtr hdc, StretchModeEnum mode)
        {
            _eOldMode = (StretchModeEnum)GetStretchBltMode(hdc);

            _pHdc = hdc;
            SetStretchBltMode(hdc, mode);
        }
예제 #2
0
        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);
        }
예제 #3
0
 private static extern bool SetStretchBltMode(IntPtr hdc, StretchModeEnum eStretchMode);
예제 #4
0
 public StretchMode(IntPtr hdc, StretchModeEnum mode)
 {
     _eOldMode = (StretchModeEnum)GetStretchBltMode(hdc);
     _pHdc = hdc;
     SetStretchBltMode(hdc, mode);
 }
예제 #5
0
        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);
        }
예제 #6
0
 private static extern bool SetStretchBltMode(IntPtr hdc, StretchModeEnum eStretchMode);