Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Entwicklungsbeispiel – angepasstes Screenshot-Tool (10), einschließlich der Mauszeigerform im Screenshot

C#-Entwicklungsbeispiel – angepasstes Screenshot-Tool (10), einschließlich der Mauszeigerform im Screenshot

黄舟
黄舟Original
2017-03-14 13:41:472119Durchsuche

Wenn beim Schreiben eines Hilfedokuments das aufgenommene Bild auch die Form eines Mauszeigers hat, sieht es intuitiver und benutzerfreundlicher aus. Lassen Sie uns als Nächstes darüber sprechen, wie Sie die Form des Mauszeigers in den Screenshot einfügen.

Struktur CURSORINFO hinzufügen:

[StructLayout(LayoutKind.Sequential)]
        struct CURSORINFO
        {
            public int cbSize;
            public int flags;
            public IntPtr hCursor;
            public Point ptScreenPos;
        }

DeklarationAPI:

        [DllImport("user32.dll")]
        static extern bool GetCursorInfo(out CURSORINFO pci);

Aufzählungswert definieren:

private const int CURSOR_SHOWING = 0x00000001;

Methode hinzufügen:

        /// <summary>
        /// 将鼠标指针形状绘制到屏幕截图上
        /// </summary>
        /// <param name="g"></param>
        private void DrawCursorImageToScreenImage(ref Graphics g)
        {
            if (!this.IsCutCursor) { return; }

            CURSORINFO vCurosrInfo;
            vCurosrInfo.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
            GetCursorInfo(out vCurosrInfo);
            if ((vCurosrInfo.flags & CURSOR_SHOWING) != CURSOR_SHOWING) return;
            Cursor vCursor = new Cursor(vCurosrInfo.hCursor);
            Rectangle vRectangle = new Rectangle(new Point(vCurosrInfo.ptScreenPos.X - vCursor.HotSpot.X, 
            vCurosrInfo.ptScreenPos.Y - vCursor.HotSpot.Y), vCursor.Size);

            vCursor.Draw(g, vRectangle);
        }

Methodenaufruf hinzufügen:

OK, machen Sie einen Screenshot und werfen Sie einen Blick darauf!


Das obige ist der detaillierte Inhalt vonC#-Entwicklungsbeispiel – angepasstes Screenshot-Tool (10), einschließlich der Mauszeigerform im Screenshot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn