黑马程序员技术交流社区
标题:
C#获取某个颜色的RGB值
[打印本页]
作者:
aisini
时间:
2014-7-29 19:53
标题:
C#获取某个颜色的RGB值
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 RGBGetter
{
public partial class RGBGetter : Form
{
public RGBGetter()
{
InitializeComponent();
}
private static Color GetScrPixel(Point pt)
{
var scrBound = Screen.PrimaryScreen.Bounds;
using (var bmp = new Bitmap(scrBound.Width, scrBound.Height))
{
using (var g = Graphics.FromImage(bmp))
{
g.CopyFromScreen(scrBound.Location,
scrBound.Location,
scrBound.Size);
}
System.GC.Collect();
return bmp.GetPixel(pt.X, pt.Y);
}
}
private void timer_Tick(object sender, EventArgs e)
{
int r, g, b;
Point p = Control.MousePosition;
Color c = GetScrPixel(p);
r =c.R;
g = c.G;
b = c.B;
Red.Text = r+"";
Green.Text = g + "";
Blue.Text = b+"";
string res = "#" + check(Convert.ToString(r, 16)) +check( Convert.ToString(g, 16)) + check(Convert.ToString(b, 16));
RGB.Text = res.ToUpper();
color.BackColor = c;
System.GC.Collect();
}
private string check(string arg)
{
if (arg.Equals("0"))
return "00";
else
return arg;
}
}
}
复制代码
作者:
张小楼
时间:
2014-8-6 20:09
正在找怎么取像素点的颜色呢 :victory:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2