vc如何识别颜色谢谢啦.元旦快乐

vc如何识别颜色谢谢啦.元旦快乐,第1张

两种方法可以解决:

一、你的图被显示到窗体上或者控件里,获得窗口或控件的DC,然后用GetPixel函数得到一个像素的值,这个像素应该是你确认它在背景上。

例如:

//获取窗体DC

CDC pDC = GetDC();

//获取颜色

COLORREF cr = pDC->GetPixel(CPoint(1,1));

//提取RGB分量

BYTE btR = GetRValue(cr);//R值

BYTE btG = GetGValue(cr);//G值

BYTE btB = GetBValue(cr);//B值

//如果btR==255,而btG==0、btB==0,则说明是红色

//如果btR==255,而btG==255、btB==0,则说明是**

二、如果你打开图时,已经获得了它的DIB值,那么就可以直接读图中的像素值了,这样同样可以获得到某一个点的颜色值了。

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long '声明

Dim Color as Long '对应坐标的点的颜色

Color = GetPixel(Picture1hDC, x, y) 'x和y是对应的坐标

var A:TColor;

begin

  a:=CanvasPixels[100,100];

  ShowMessage(ColorToString(a)); //显示颜色名称

  //ShowMessage(IntToHex(ColorToRGB(a),8));  //显示颜色的十六进制值

end;

Private Sub Command1_Click()

Picture1BackColor = Shape1FillColor

End Sub

不知道是不是你想要的效果

1、首先打开labview的前面板,一般可以看到前面板有很多控件,默认颜色是灰白色的框。

2、其次通过alt+V+t快捷键,可以快速打开工具控件选板红框。

3、最后进入选板后,点击前面的夜色框框,然后选成红色。

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Type POINTAPI

X As Long

Y As Long

End Type

Sub Form_Load()

Timer1Enabled = True

Timer1Interval = 1

End Sub

Private Sub Timer1_Timer()

AutoRedraw = True

Dim p As POINTAPI

dc = GetDC(0)

GetCursorPos p

Cls

Print pX, pY

Print Hex(GePixel(dc, pX, pY))

End Sub

在窗体上放一个 timer控件,运行即可,vb60环境通过调试,

以上就是关于vc如何识别颜色谢谢啦.元旦快乐全部的内容,包括:vc如何识别颜色谢谢啦.元旦快乐、VB怎么输出控件中图片的颜色、delphi里面,如何获取指点窗口内坐标100,100的颜色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9805170.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存