A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aisini 金牌黑马   /  2014-7-29 19:53  /  986 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Runtime.InteropServices;

  10. namespace RGBGetter
  11. {
  12.     public partial class RGBGetter : Form
  13.     {
  14.         public RGBGetter()
  15.         {
  16.             InitializeComponent();
  17.         }

  18.         private static Color GetScrPixel(Point pt)
  19.         {
  20.             var scrBound = Screen.PrimaryScreen.Bounds;
  21.             using (var bmp = new Bitmap(scrBound.Width, scrBound.Height))
  22.             {
  23.                 using (var g = Graphics.FromImage(bmp))
  24.                 {
  25.                     g.CopyFromScreen(scrBound.Location,
  26.                                         scrBound.Location,
  27.                                         scrBound.Size);
  28.                 }
  29.                 System.GC.Collect();
  30.                 return bmp.GetPixel(pt.X, pt.Y);
  31.             }
  32.         }

  33.         private void timer_Tick(object sender, EventArgs e)
  34.         {
  35.             int r, g, b;
  36.             Point p = Control.MousePosition;
  37.             Color c = GetScrPixel(p);
  38.             r =c.R;
  39.             g = c.G;
  40.             b = c.B;
  41.             Red.Text = r+"";
  42.             Green.Text = g + "";
  43.             Blue.Text = b+"";
  44.             string res = "#" + check(Convert.ToString(r, 16)) +check( Convert.ToString(g, 16)) + check(Convert.ToString(b, 16));
  45.             RGB.Text = res.ToUpper();
  46.             color.BackColor = c;
  47.             System.GC.Collect();
  48.         }
  49.         private string check(string arg)
  50.         {
  51.             if (arg.Equals("0"))
  52.                 return "00";
  53.             else
  54.                 return arg;
  55.         }

  56.     }
  57. }
复制代码


1 个回复

倒序浏览
正在找怎么取像素点的颜色呢 :victory:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马