vb.net - VB.Net 自定义位图
问题描述
它有点复杂,我会尽力解释我想要实现的目标。
我已经使用位图和从屏幕功能复制一些。这一切都很好。但是这些位图总是矩形的,如果可能的话,我想使用我自己的位图。
举个例子:
在我屏幕上的 x、y 位置某处是一张地图,这张地图有几条路径和交叉点。还有一些我不感兴趣的房子和东西,我只关注中间的路径。
现在我想使用位图和从屏幕复制功能扫描这张地图的 Argb 像素。我已经这样做了,效果很好,但不是只扫描路径的像素,而是扫描整个地图的像素。但我只希望扫描这些路径。
我有这张地图作为模板,可以对其进行截图。我现在可以将此地图导入 Photoshop,将房屋和我不需要的所有东西涂成黑色,并使路径透明并将它们作为位图导入,以便“从屏幕复制”功能仅扫描路径,或者甚至可能吗?如果有人能带领我朝着正确的方向前进,我还没有找到任何关于 vb.net 的内容,我将非常感激 :)
这是我到目前为止得到的代码 - 简单的像素搜索功能:
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim xd3 = Color.FromArgb(255, 100, 100, 100) 'Searching for this color on the screen
Dim b As New Bitmap(2210, 1100) 'Position of Bitmap
Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b)
g.CopyFromScreen(Me.Left, Me.Top, 0, 0, b.Size) 'Searching on Screen
For i = 0 To (Me.Width - 0) 'searching each pixel
For j = 0 To (Me.Height - 0) 'searching each pixel
If b.GetPixel(i, j) = xd3 Then 'If pixel has same color that im searching for it will show a messagebox true
MessageBox.Show("true")
End If
Next
Next
End Sub
解决方案
推荐阅读
- angular - angular 7 库中桶的包装问题
- swift - 表格单元格中的 WebView - 自动高度 - Swift
- r - 通过软件R中的一点的线
- elasticsearch - Kibana 服务正在运行,但无法通过浏览器访问控制台
- reactjs - 当登录方法执行时,如何从另一个组件正确更改组件的状态?
- postmark - 在 Postmark 中出列电子邮件
- excel - CountIfs 的条件包括如果 A 列单元格 > B 列单元格
- python - 根据另一个表中的值向数据添加波段
- javascript - 直到 while 循环处于活动状态时才显示画布函数结果
- algorithm - 有效地聚合删除和插入索引