dabian001 发表于 2007-5-7 22:32:12

[求助]请问怎么获取屏幕区域所有像素??

<p>请大马帮忙</p><p>怎么获取屏幕区域所有像素??</p><p>然后保存为&nbsp; 2种信息</p><p>1.每个像素点的颜色值<br/>2.每个像素点的坐标</p><p></p><p>//我找了个大概的代码...但是看不懂...不知道是不是我要的代码...</p><p>///</p>'过程一: 获得一个在PICTURE控件中打开的图像的所有像素<br/>Public Sub DibGet(ByVal IdSource As Long, XBegin As Long, ByVal YBegin As Long, ByVal XEnd As Long, ByVal YEnd As Long)<br/>Dim iBitmap As Long<br/>Dim iDC As Long<br/>Dim I As Long<br/>Dim W As Long<br/>Dim H As Long<br/>&nbsp;&nbsp;&nbsp; On Error GoTo ErrLine<br/>&nbsp;&nbsp;&nbsp; InPutWid = XEnd - XBegin<br/>&nbsp;&nbsp;&nbsp; InPutHei = YEnd - YBegin<br/>&nbsp;&nbsp;&nbsp; W = InPutWid + 1<br/>&nbsp;&nbsp;&nbsp; H = InPutHei + 1<br/>&nbsp;&nbsp;&nbsp; I = (Bits \ 8) - 1<br/>&nbsp;&nbsp;&nbsp; ReDim ColVal(I, InPutWid, InPutHei)<br/>&nbsp;&nbsp;&nbsp; With bi24BitInfo.bmiHeader<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biBitCount = Bits<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biCompression = 0&amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biPlanes = 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biSize = Len(bi24BitInfo.bmiHeader)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biWidth = W<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biHeight = H<br/>&nbsp;&nbsp;&nbsp; End With<br/>&nbsp;&nbsp;&nbsp; iBitmap = GetCurrentObject(IdSource, 7&amp;)<br/>&nbsp;&nbsp;&nbsp; GetDIBits IdSource, iBitmap, 0&amp;, H, ColVal(0, 0, 0), bi24BitInfo, 0&amp;<br/>&nbsp;&nbsp;&nbsp; DeleteObject iBitmap<br/>&nbsp;&nbsp;&nbsp; Exit Sub<br/>ErrLine:<p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p>

dabian001 发表于 2007-5-8 00:02:59

<p>发个GetDIBits... vb环境中312毫秒,,编译运行125毫秒&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; (p4 2.4GHz&nbsp;&nbsp;512M&nbsp; &nbsp;xp_sp2&nbsp;&nbsp;32位&nbsp;&nbsp;1024*768 )<br/><br/>这样的速度应该没有什么争议吧!!!!!!!?????????????.........<br/><br/>Option Explicit<br/>&nbsp; &nbsp;<br/>Private Type BITMAPINFOHEADER '40 bytes<br/>&nbsp; &nbsp; biSize As Long<br/>&nbsp; &nbsp; biWidth As Long<br/>&nbsp; &nbsp; biHeight As Long<br/>&nbsp; &nbsp; biPlanes As Integer<br/>&nbsp; &nbsp; biBitCount As Integer<br/>&nbsp; &nbsp; biCompression As Long<br/>&nbsp; &nbsp; biSizeImage As Long<br/>&nbsp; &nbsp; biXPelsPerMeter As Long<br/>&nbsp; &nbsp; biYPelsPerMeter As Long<br/>&nbsp; &nbsp; biClrUsed As Long<br/>&nbsp; &nbsp; biClrImportant As Long<br/>End Type<br/><br/>Private Type RGBQUAD<br/>&nbsp; &nbsp; rgbBlue As Byte<br/>&nbsp; &nbsp; rgbGreen As Byte<br/>&nbsp; &nbsp; rgbRed As Byte<br/>&nbsp; &nbsp; rgbReserved As Byte<br/>End Type<br/>Private Type BITMAPINFO<br/>&nbsp; &nbsp; bmiHeader As BITMAPINFOHEADER<br/>&nbsp; &nbsp; bmiColors As RGBQUAD<br/>End Type<br/><br/>Private Type POINT<br/>&nbsp; &nbsp; x As Integer<br/>&nbsp; &nbsp; y As Integer<br/>End Type<br/><br/>Private Const DIB_RGB_COLORS&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;As Long = &amp;H0&amp;<br/>Private Const BI_RGB&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; As Long = &amp;H0&amp;<br/>Private Const OBJ_BITMAP&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;As Long = &amp;H7&amp;<br/>Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, _<br/>&nbsp; &nbsp; ByVal nNumScans As Long, ByVal lpBits As Long, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long<br/>Private Declare Function GetCurrentObject Lib "gdi32" (ByVal hdc As Long, ByVal uObjectType As Long) As Long<br/>Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)<br/>Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long<br/>Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long<br/><br/>Private Function findColor(ByVal hdc As Long, ByVal Width As Integer, ByVal Height As Integer, ByVal find_Color As Long, ByRef retClr() As POINT) As Long<br/>&nbsp; &nbsp; Dim bi&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; As BITMAPINFO<br/>&nbsp; &nbsp; Dim LngCol&nbsp; &nbsp;&nbsp; &nbsp;As Long, hMap As Long, lenBuf As Long, r As Long, s As Long<br/>&nbsp; &nbsp; Dim bmpBuf()&nbsp; &nbsp; As Byte<br/>&nbsp; &nbsp; Dim x&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;As Integer, y As Integer<br/>&nbsp; &nbsp; Erase retClr<br/>&nbsp; &nbsp; find_Color = (&amp;HFF And find_Color) * &amp;H10000 + (&amp;HFF00&amp; And find_Color) + (&amp;HFF0000 And find_Color) / &amp;H10000<br/>&nbsp; &nbsp; With bi.bmiHeader<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;.biSize = Len(bi.bmiHeader)<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;.biWidth = Width<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;.biHeight = Height<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;.biPlanes = 1<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;.biBitCount = 24<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;.biCompression = BI_RGB<br/>&nbsp; &nbsp; End With<br/>&nbsp; &nbsp; lenBuf = CLng(Width) * Height * 3<br/>&nbsp; &nbsp; ReDim bmpBuf(lenBuf - 1)<br/>&nbsp; &nbsp; hMap = GetCurrentObject(hdc, OBJ_BITMAP)<br/>&nbsp; &nbsp; GetDIBits hdc, hMap, 0, bi.bmiHeader.biHeight, VarPtr(bmpBuf(0)), bi, DIB_RGB_COLORS<br/>&nbsp; &nbsp; For y = Height To 1 Step -1<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;For x = 1 To Width<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;CopyMemory LngCol, bmpBuf(r), 3<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;If LngCol = find_Color Then<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; ReDim Preserve retClr(s)<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;With retClr(s)<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;.x = x<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;.y = y<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;End With<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; s = s + 1<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;End If<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;r = r + 3<br/>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Next<br/>&nbsp; &nbsp; Next<br/>&nbsp; &nbsp; Erase bmpBuf<br/>&nbsp; &nbsp; findColor = s<br/>End Function<br/><br/>Private Sub Command1_Click()<br/>&nbsp; &nbsp; Dim hdc As Long, sint As Single, retClr() As POINT, ret As Long<br/>&nbsp; &nbsp; sint = Timer<br/>&nbsp; &nbsp; hdc = GetDC(0)<br/>&nbsp; &nbsp; ret = findColor(hdc, 1024, 768, &amp;H0, retClr)<br/>&nbsp; &nbsp; ReleaseDC 0, hdc<br/>&nbsp; &nbsp; MsgBox "此颜色点数:" &amp; ret &amp; " 用时: " &amp; (Timer - sint)<br/>End Sub<br/></p><p></p><p></p><p>我找到了一个类似例子;;;</p><p></p><p>但同时发现:<br/>find_Color = (&amp;HFF And find_Color) * &amp;H10000 + (&amp;HFF00&amp; And find_Color) + (&amp;HFF0000 And find_Color) / &amp;H10000<br/><br/>当入参find_Color为4位数如(&amp;HFFFF)会出错。<br/><br/>另外Private Function findColor现在是整个屏幕的,哪位能教我改成某个区域的呢。主要本人对<br/>GetDIBits hdc, hMap, 0, bi.bmiHeader.biHeight, VarPtr(bmpBuf(0)), bi, DIB_RGB_COLORS<br/>此语句不甚了解,麻烦给个思路,先谢谢了。</p>

dabian001 发表于 2007-5-8 00:21:31

<p>参考其他论坛地址</p><p></p><p><a href="http://www.vbgood.com/viewthread.php?tid=38272&amp;extra=&amp;page=1">http://www.vbgood.com/viewthread.php?tid=38272&amp;extra=&amp;page=1</a></p>

马大哈 发表于 2007-5-8 10:01:24

<p>GetDIBits hdc, hMap, 0, bi.bmiHeader.biHeight, VarPtr(bmpBuf(0)), bi, DIB_RGB_COLORS</p><p>这一句貌似是把某DC的内容读到数组中.</p><p>记得以前看过一个读取BMP象素的代码,就是这样写的.</p><p>对数组作循环,一般来说还是蛮快的.</p><p>这个方法也很不错.</p>

dabian001 发表于 2007-5-8 12:51:27

<p>帮我整理一个出来好吗....我感觉很乱,,看不懂..</p><p></p><p>改成在某个区域查找某个颜色,,返回坐标的&nbsp; 谢谢 <br/>&nbsp; <br/></p>

马大哈 发表于 2007-5-9 13:03:51

<p>自动加血加蓝?</p><p>呵呵</p>

马大哈 发表于 2007-5-9 13:22:11

<p>findColor这个函数就是这个功能呀.</p><p>findColor(hdc, 1280, 800, RGB(11, 198, 17), retClr)</p><p>第一个参数是你要找的目标的DC,得自己想办法得到;</p><p>第二与第三个参数是坐标最大范围;</p><p>第四个参数是要找的颜色的值</p><p>最后一个参数是用于返回所找到的点的坐标.</p><p>函数返回值是此颜色的点的数量.</p>

dabian001 发表于 2007-5-9 14:25:24

<p>Find_Color = (&amp;HFF And Find_Color) * &amp;H10000 + (&amp;HFF00&amp; And Find_Color) + (&amp;HFF0000 And Find_Color) / &amp;H10000</p><p>这句啥意思???</p><p></p><p></p><p>&nbsp;CopyMemory LngCol, bmpBuf(r), 3</p><p>这句啥意思???&nbsp;&nbsp; </p><p></p><p>lenBuf = CLng(Width) * Height * 3</p><p>这句啥意思???&nbsp;</p><p></p><p>ReDim Preserve retClr(s)</p><p>这句啥意思???</p><p></p><p></p><p>&nbsp;Erase bmpBuf</p><p>这句啥意思???</p>

马大哈 发表于 2007-5-9 15:06:30

<p>Find_Color = (&amp;amp;HFF And Find_Color) * &amp;amp;H10000 + (&amp;amp;HFF00&amp;amp; And Find_Color) + (&amp;amp;HFF0000 And Find_Color) / &amp;amp;H10000</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 貌似某种转换...?</p><p>CopyMemory LngCol, bmpBuf(r), 3</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指针操作,将3个字节的BYTE复制到一个LONG的内存里去</p><p>lenBuf = CLng(Width) * Height * 3</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个忘了.....与DIB位图格式有关的......好象是每个象素使用0-255的三个值来代表它的颜色.....?</p><p>ReDim Preserve retClr(s)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在保存数组内容的前提下,对数组扩维</p><p>Erase bmpBuf</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 释放数组所占内存</p>

dabian001 发表于 2007-5-9 15:09:17

<p>这样吧..再说个用途....</p><p></p><p>就是想用来做&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Photoshop的魔术棒 功能</p>

dabian001 发表于 2007-5-10 00:36:58

<p>感谢...不过不是我想要的效果...</p><p></p><p></p>

dabian001 发表于 2007-5-10 04:04:09

<p><br/>'iLeft,iTop,iRight,iBottom,szColor<br/>Private Function FindColor(ByVal iLeft As Long, ByVal iTop As Long, ByVal iRight As Long, ByVal iBottom As Long, _<br/>&nbsp;&nbsp;&nbsp; ByVal szColor As Long, ByRef FoundX As Long, ByRef FoundY As Long)</p><p><br/>Dim HDC As Long<br/>Dim IntX As Long, IntY As Long<br/>Dim r As Long, s As Long</p><p>Dim Bi As BITMAPINFO</p><p>Dim LngCol As Long, Hmap As Long, LENbuf As Long<br/>Dim BMPbuf() As Byte</p><p><br/>&nbsp;&nbsp;&nbsp; 'szColor = (&amp;HFF And szColor) * &amp;H10000 + (&amp;HFF00&amp; And szColor) + (&amp;HFF0000 And szColor) / &amp;H10000</p><p><br/>&nbsp;&nbsp;&nbsp; With Bi.bmiHeader<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biSize = Len(Bi.bmiHeader)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biWidth = iRight<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biHeight = iBottom<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biPlanes = 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biBitCount = 24<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .biCompression = BI_RGB<br/>&nbsp;&nbsp;&nbsp; End With</p><p><br/>&nbsp;&nbsp;&nbsp; LENbuf = CLng(iRight) * iBottom * 3<br/>&nbsp;&nbsp;&nbsp; ReDim BMPbuf(LENbuf - 1)</p><p><br/>&nbsp;&nbsp;&nbsp; HDC = GetDC(0)<br/>&nbsp;&nbsp;&nbsp; Hmap = GetCurrentObject(HDC, OBJ_BITMAP)<br/>&nbsp;&nbsp;&nbsp; GetDIBits HDC, Hmap, 0, Bi.bmiHeader.biHeight, VarPtr(BMPbuf(0)), Bi, DIB_RGB_COLORS<br/>&nbsp;&nbsp;&nbsp; ReleaseDC 0, HDC</p><p><br/>&nbsp;&nbsp;&nbsp; For IntY = iTop To iBottom<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For IntX = iLeft To iRight<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CopyMemory LngCol, BMPbuf(r), 3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If LngCol = szColor Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FoundX = IntX<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FoundY = IntY<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Erase BMPbuf&nbsp;&nbsp;&nbsp; '释放数组空间<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit Function<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r = r + 3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp;&nbsp; Next<br/>&nbsp;&nbsp;&nbsp; FoundX = -1<br/>&nbsp;&nbsp;&nbsp; FoundY = -1</p><p><br/>End Function</p><p></p><p>Private Sub Command1_Click()<br/>Dim IntX As Long, IntY As Long<br/>Dim sint As Long<br/>&nbsp;&nbsp;&nbsp; sint = Timer<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '左,上, 右,&nbsp; 下, 颜色, x坐标, y坐标<br/>&nbsp;&nbsp;&nbsp; Call FindColor(1, 1, 1023, 767, 255, IntX, IntY)<br/>&nbsp;&nbsp;&nbsp; If IntX &gt; 0 And IntY &gt; 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "此颜色在屏幕坐标为:x=" &amp; IntX &amp; "&nbsp;&nbsp; y=" &amp; IntY &amp; "&nbsp; 用时:" &amp; (Timer - sint)<br/>&nbsp;&nbsp;&nbsp; Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "查找某颜色坐标失败!!!&nbsp; 用时:" &amp; (Timer - sint)<br/>&nbsp;&nbsp;&nbsp; End If</p><p><br/>End Sub<br/></p><p></p><p></p><p></p><p></p><p>'////////////////////////////////////////////////////////////////////////////////////////////////////////<br/>帮我看看哪里有问题?????语法之类的,,,</p><p></p>
[此贴子已经被作者于2007-5-10 4:06:28编辑过]

马大哈 发表于 2007-5-10 11:59:43

<p><font color="#00ff00">'szColor = (&amp;HFF And szColor) * &amp;H10000 + (&amp;HFF00&amp; And szColor) + (&amp;HFF0000 And szColor) / &amp;H10000</font></p><p><font color="#00ff00">这句还是要</font></p><p><font color="#00ff00">然后就是输入的参数</font></p><p>Call FindColor(1, 1, 1023, 767, 255, IntX, IntY)</p><p>要纯蓝,应该用RGB函数.</p><p>Call FindColor(1, 1, 1023, 767, RGB(0,0,255), IntX, IntY)</p>

dabian001 发表于 2007-5-10 12:31:10

现在主要是 蓝色那快代码..我可能写错了,,根本找不到颜色....坐标

马大哈 发表于 2007-5-10 13:33:38

<p>但代码在我这里没错</p><p>另外,你确认你要找的颜色是纯蓝??</p><p>RGB(0,0,255)就是纯蓝</p><p>你用QQ的截图功能看看颜色啊.</p>

dabian001 发表于 2007-5-10 14:00:32

<p>大马..你用那代码可以找到,,蓝色坐标????</p><p></p><p>提示什么????</p><p></p><p>我这边一直提示找不到...</p>

马大哈 发表于 2007-5-10 16:56:22

<p>也许你的颜色并不是纯蓝(0,0,255).</p><p>建议先用找色软件看看要找的点的颜色到底是什么样的RGB值(QQ的截图功能就可以看到)</p>

dabian001 发表于 2007-5-10 19:04:52

<p>就是算是白色也找不到...</p><p>我的意思是,,蓝色那段代码有问题...帮我改改..或者告诉我</p><p></p><p><font color="#0000ff">BMPbuf(r) 这个数据的存储方式....</font></p>

马大哈 发表于 2007-5-12 08:48:59

<p>我想这里有你需要的东西:</p><p><strong><font size="4">BMP图像格式解析</font></strong></p>http://blog.csdn.net/kesalin/archive/2006/09/12/1213163.aspx
页: [1]
查看完整版本: [求助]请问怎么获取屏幕区域所有像素??