程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 用C#實現屏幕吸色功能,附邏輯思維講解圖,功能代碼不超過50行即可實現

用C#實現屏幕吸色功能,附邏輯思維講解圖,功能代碼不超過50行即可實現

編輯:C#入門知識

 

此程序是我上學的時候寫的,好幾年前的事了,前幾天整理硬盤文件時發現自已其實還寫過很多東西,當時還沒有在園子裡面混,故沒怎麼分享,現在有時間那就給需要的朋友分享分享,我的主要實現思路是:

一、創建一個畫布(即為Form),大小和當前屏幕大小一樣

二、在這快畫布上建立一個繪圖對象,截取復制當前屏幕內容

三、用Image對象的GetThumbnailImage方法獲取鼠標坐標點的方圓20像素的圖像,然後以縮略圖的形式將其放大,實現放大鏡效果

四、利用API獲取當前鼠標坐標點的像素色

五、吸色顯示信息窗體實時跟蹤

六、方向鍵微調功能,直接調用WIN的API設置鼠標坐標即可

 

先來看下吸引效果:

\

控件布局:

\

實時跟蹤窗體顯示模式的邏輯思維圖:

\

始終保持吸色信息窗體保持上圖所示狀態(左上,右上,左下,右下),我的實現代碼是這樣寫的:

	

Point p = new Point();

            p.X = MousePosition.X+10;

            p.Y = MousePosition.Y+10;

 

            Size s = Screen.PrimaryScreen.Bounds.Size;

 

            if (p.X > s.Width - this.Width)

                p.X -= this.Width + 20;

            if (p.Y > s.Height - this.Height)

                p.Y -= this.Height + 20;

 

            this.Location = p;

 

 

好了,下面附上我的全部代碼:

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace LR.Tools

{

    ///<summary>

    /// LR.Tools 的摘要說明

    /// 程序: LR.Tools V1.0版

    /// Developer: 狼人

    /// QQ:459094521  博客: http://www.cnblogs.com/waw/

    /// 編寫

	摘自:博客園中的艾偉

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