C#新手 如何获得当前坐标像素点的颜色信息。。。

C#新手 如何获得当前坐标像素点的颜色信息。。。,第1张

// x,y 分别为x轴,y轴坐标 返回SystemDrawingColor 可以直接显示

public SystemDrawingColor GetPixelColor(int x, int y)

{

IntPtr hdc = GetDC(IntPtrZero);

uint pixel = GetPixel(hdc, x, y);

ReleaseDC(IntPtrZero, hdc);

Color color = ColorFromArgb((int)(pixel & 0x000000FF),

(int)(pixel & 0x0000FF00) >> 8,

(int)(pixel & 0x00FF0000) >> 16);

return color;

}

//定义一个定时器 获取当前坐标上的像素颜色

private void timer_Tick(object sender, EventArgs e)

{

textBox1Text = GetPixelColor(CursorPositionX, CursorPositionY)RToString() + " " + GetPixelColor(CursorPositionX, CursorPositionY)GToString() + " " + GetPixelColor(CursorPositionX, CursorPositionY)BToString();

}

使用这个函数,

COLORREF

GetPixel(

HDC

hdc,

//

handle

to

DC

int

nXPos,

//

x-coordinate

of

pixel

int

nYPos

//

y-coordinate

of

pixel

);

可以调用之前调用GerCursorPos

来获取鼠标在屏幕上的位置,

如果仅仅是为了取色的话,桌面窗口的HDC的获取,调用GetDC(NULL)来获取到,(不知到delphi里NULL写成什么样子,写成

GetDC(0)也可以。)

在把GerCursorPos

获取的屏幕坐标也给传过去,GetPixel即可返回屏幕坐标的相应颜色值了。

COLORREF

是一个

DWORD

类型,自己分析高低为就可以知道RGB值了。

可以参考使用GetRValue,GetGValue,GetBValue

mBitmap2getPixels(pixels, 0, w, 0, 0, w, h);//获得mBitmap2的像素颜色值,赋值给pixels,第三个参数为一行的像素数(矩形的宽)mBitmap3 = BitmapcreateBitmap(pixels, 0, w, w, h, BitmapConfigARGB_8888);//用上面的pixels颜色数组创建一个Bitmap应该能帮到你吧

我是用MATLAB+Excel 完成的 ,MATLAB和Excel可以用exlink 插件联系起来,这样用Excel就可以调用MATLAB。

用MATLAB的imread命令读取成为矩阵,用EXLINK传递单Excel,并利用VBA脚本给Excel单元格赋背景色。这应该是最简单的方法了。

给你个简单的给单元格赋值的程序,随机生成三个数,并用这三个数给A2单元格设置背景颜色。你改改,加个循环就能用。

分割线

再回来看发现我可能误解你的问题了,你只是需要获取的RGB矩阵,不需要吧单元格背景设置成相应的颜色的话,我还是建议你用MATLAB,一个imread命令就搞定了

Sub test()

Dim a As Integer

Dim b As Integer

Dim c As Integer

a = Int(Rnd()  255)

b = Int(Rnd()  255)

c = Int(Rnd()  255)

Cells(1, 1) = a

Cells(1, 2) = b

Cells(1, 3) = c

Cells(2, 1)InteriorColor = RGB(a, b, c)

MsgBox "success", vbOKOnly, "report"

End Sub

以上就是关于C#新手 如何获得当前坐标像素点的颜色信息。。。全部的内容,包括:C#新手 如何获得当前坐标像素点的颜色信息。。。、如何用delphi编程获取其他程序窗口内的象素颜色信息等、android中如何获得像素点的颜色值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9332849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存