程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 利用Windows API實現屏幕取色器

利用Windows API實現屏幕取色器

編輯:C#入門知識

一  效果圖

  為了實現這個取色器,在網上查了很多關於取色器的資料,起先是通過winform怎麼制作,後來發現大多數資料都調用了windows api,但自己以前從來沒有用過這方面的,又從網上下了windows api 來看,經過多次實踐終於做出了現在這個效果,先感謝下網上那些提供資料的朋友。

  效果,如下圖:

  \

二 原理

  為了實現整個屏幕取色

  1.需要獲取鼠標當前的位置

  2.獲取整個窗口的場景

  3.獲取指定點的顏色值

  4.判斷按鍵狀態來控制開始結束取色

  需要實現這些功能,就必需要調用windows api來實現。

  在C#中調用windows api的方式如下所示:

 

[DllImport("user32.dll")]
public static extern uint WindowFromPoint(uint x_point,uint y_point);

三 詳細代碼

 

  關鍵代碼都已經注釋,就不解釋了。界面代碼就不給出了很簡單的。

 

\\代碼 using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
using
System.Runtime.InteropServices;

namespace
GetColor
{
    public partial class
colorForm : Form
    {
        private int redValue = 255
;
        private int greenValue = 255
;
        private int blueValue = 255
;

        public
colorForm()
        {
            InitializeComponent();

            InitPanelColor();
        }

        private bool flag = false
;

        public struct
POINTAPI
        {
            public uint
x;
            public uint
y;
        }

        public class
WinInfo
        {
            /// <summary>

            ///

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved