Center() публичный статический Метод

public static Center ( RectangleF r ) : PointF
r System.Drawing.RectangleF
Результат System.Drawing.PointF
Пример #1
0
        private void GetSnapshot()
        {
            var p = MousePosition;

            var scaling = Util.GetScalingFactor();

            p.X  = (int)(p.X * scaling);
            p.Y  = (int)(p.Y * scaling);
            p.X -= (int)(_mSnapshot.Width * scaling) / 2;
            p.Y -= (int)(_mSnapshot.Height * scaling) / 2;

            using (var dc = Graphics.FromImage(_mSnapshot))
            {
                dc.CopyFromScreen(p, new Point(0, 0), _mSnapshot.Size);
                Refresh(); //Invalidate();

                var center = Util.Center(new RectangleF(0, 0, _mSnapshot.Size.Width, _mSnapshot.Size.Height));
                var c      = _mSnapshot.GetPixel((int)Math.Ceiling(center.X), (int)Math.Ceiling(center.Y));
                if (c == SelectedColor)
                {
                    return;
                }
                SelectedColor = c;
                SelectedColorChanged?.Invoke(this, null);
            }
        }
Пример #2
0
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);

            if (_mSnapshot == null)
            {
                return;
            }
            e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
            var r = RectangleF.Empty;

            r.Width  = _mSnapshot.Size.Width * Zoom;
            r.Height = _mSnapshot.Size.Height * Zoom;
            r.X      = 0;
            r.Y      = 0;
            e.Graphics.DrawImage(_mSnapshot, r);

            if (_iscapturing)
            {
                var center     = Util.Center(r);
                var centerrect = new Rectangle(Util.Point(center), new Size(0, 0));
                centerrect.X     -= Zoom / 2 - 1;
                centerrect.Y     -= Zoom / 2 - 1;
                centerrect.Width  = Zoom;
                centerrect.Height = Zoom;
                e.Graphics.DrawRectangle(Pens.Black, centerrect);
            }
            else
            {
                const int offset = 3;

                e.Graphics.FillRectangle(SystemBrushes.Control, new Rectangle(new Point(0, 0), Size));
                e.Graphics.DrawImage(_mIcon, offset, offset);
            }
            //
            //draws a border - removed for now.
            //
            //var rr = ClientRectangle;
            //Pen pen = new Pen(BackColor, 3);
            //rr.Inflate(-1, -1);
            //e.Graphics.DrawRectangle(pen, rr);
            //Util.DrawFrame(e.Graphics, rr, 6, Color.CadetBlue);
        }