Quellatalo.Nin.TheEyes
0.1.0
This TheEyes library provides methods to read and find images on the screen. A part of alternative tools to sikulix.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
Install-Package Quellatalo.Nin.TheEyes -Version 0.1.0
dotnet add package Quellatalo.Nin.TheEyes --version 0.1.0
<PackageReference Include="Quellatalo.Nin.TheEyes" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Quellatalo.Nin.TheEyes --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
/// <summary>
/// A test to have TheHands and TheEyes working together
/// Preparation: Open Microsoft Paint, with full canvas ready
/// This code will:
/// - focus on Paint, demonstrate the recognition
/// - draw something on canvas
/// - duplicate the drawing
/// - once again find all similar drawings on the canvas
/// </summary>
void HandsAndEyesTest()
{
// Look for a window which has "paint" in title and bring it to front
App app = App.GetAppByWindowTitle("paint");
app.ToFront();
// Highlight the Paint's window area
Area area = new Area(app.GetMainWindowRectangle());
area.Highlight(new SolidBrush(Color.FromArgb(63, Color.Red)));
Thread.Sleep(2222); // wait, just to observer
Area.ClearHighlight(); // clear the highlight
// Prepare some points to draw in sequence
Point[] points1 = new Point[] // 1st stroke
{
new Point(area.Center.X-10,area.Center.Y-10),
new Point(area.Center.X+10,area.Center.Y-10),
new Point(area.Center.X+10,area.Center.Y+10),
new Point(area.Center.X-10,area.Center.Y+10)
};
Point[] points2 = new Point[] // 2nd stroke
{
new Point(area.Center.X-14,area.Center.Y-14),
new Point(area.Center.X+14,area.Center.Y-14),
new Point(area.Center.X+14,area.Center.Y+14),
new Point(area.Center.X-14,area.Center.Y+14)
};
Mouse.DefaultMouseActionDelay = 111; // set some delay after each mouse action, it's easier to observe
// Draw on Paint's canvas
Mouse.LeftDrag(points1);
Mouse.LeftDrag(points2);
Keyboard.DefaultKeyboardActionDelay = 41; // set some delay after each keyboard action
// Switch to Paint's select mode
Keyboard.KeyDown(Keys.LControlKey);
Keyboard.KeyTyping(Keys.A);
Keyboard.KeyUp(Keys.LControlKey);
Keyboard.KeyTyping(Keys.Escape);
// The drawing's area
Area myDrawingArea = new Area(
new Rectangle(
new Point(area.Center.X - 16, area.Center.Y - 16),
new Size(32, 32)));
// In Paint, select the drawing
Mouse.LeftDrag(
myDrawingArea.TopLeft,
myDrawingArea.BottomRight);
// Make a copy of the drawing
Keyboard.KeyDown(Keys.LControlKey);
Keyboard.KeyTyping(Keys.C);
Keyboard.KeyTyping(Keys.V);
Keyboard.KeyUp(Keys.LControlKey);
Keyboard.KeyTyping(Keys.Escape);
// Find all the same drawings on Paint's window
using (Pattern pattern = new Pattern(myDrawingArea.GetDisplayingImage()))
{
List<Match> matches = area.FindAll(pattern);
foreach (Match match in matches)
{
match.Highlight();
}
Thread.Sleep(2222);
Area.ClearHighlight();
}
}
/// <summary>
/// A test to have TheHands and TheEyes working together
/// Preparation: Open Microsoft Paint, with full canvas ready
/// This code will:
/// - focus on Paint, demonstrate the recognition
/// - draw something on canvas
/// - duplicate the drawing
/// - once again find all similar drawings on the canvas
/// </summary>
void HandsAndEyesTest()
{
// Look for a window which has "paint" in title and bring it to front
App app = App.GetAppByWindowTitle("paint");
app.ToFront();
// Highlight the Paint's window area
Area area = new Area(app.GetMainWindowRectangle());
area.Highlight(new SolidBrush(Color.FromArgb(63, Color.Red)));
Thread.Sleep(2222); // wait, just to observer
Area.ClearHighlight(); // clear the highlight
// Prepare some points to draw in sequence
Point[] points1 = new Point[] // 1st stroke
{
new Point(area.Center.X-10,area.Center.Y-10),
new Point(area.Center.X+10,area.Center.Y-10),
new Point(area.Center.X+10,area.Center.Y+10),
new Point(area.Center.X-10,area.Center.Y+10)
};
Point[] points2 = new Point[] // 2nd stroke
{
new Point(area.Center.X-14,area.Center.Y-14),
new Point(area.Center.X+14,area.Center.Y-14),
new Point(area.Center.X+14,area.Center.Y+14),
new Point(area.Center.X-14,area.Center.Y+14)
};
Mouse.DefaultMouseActionDelay = 111; // set some delay after each mouse action, it's easier to observe
// Draw on Paint's canvas
Mouse.LeftDrag(points1);
Mouse.LeftDrag(points2);
Keyboard.DefaultKeyboardActionDelay = 41; // set some delay after each keyboard action
// Switch to Paint's select mode
Keyboard.KeyDown(Keys.LControlKey);
Keyboard.KeyTyping(Keys.A);
Keyboard.KeyUp(Keys.LControlKey);
Keyboard.KeyTyping(Keys.Escape);
// The drawing's area
Area myDrawingArea = new Area(
new Rectangle(
new Point(area.Center.X - 16, area.Center.Y - 16),
new Size(32, 32)));
// In Paint, select the drawing
Mouse.LeftDrag(
myDrawingArea.TopLeft,
myDrawingArea.BottomRight);
// Make a copy of the drawing
Keyboard.KeyDown(Keys.LControlKey);
Keyboard.KeyTyping(Keys.C);
Keyboard.KeyTyping(Keys.V);
Keyboard.KeyUp(Keys.LControlKey);
Keyboard.KeyTyping(Keys.Escape);
// Find all the same drawings on Paint's window
using (Pattern pattern = new Pattern(myDrawingArea.GetDisplayingImage()))
{
List<Match> matches = area.FindAll(pattern);
foreach (Match match in matches)
{
match.Highlight();
}
Thread.Sleep(2222);
Area.ClearHighlight();
}
}
Release Notes
First release.
Dependencies
-
- EMGU.CV (>= 3.3.0.2824)
Used By
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Quellatalo.Nin.TheEyes:
Package | Downloads |
---|---|
CShauto
An RPA C# library with provide some methods to manipulate Images, Mouse and Keyboard
|
GitHub repositories
This package is not used by any popular GitHub repositories.
Version History
Version | Downloads | Last updated |
---|---|---|
0.3.0 | 450 | 10/29/2018 |
0.2.5.1 | 415 | 5/23/2018 |
0.2.5 | 396 | 5/22/2018 |
0.2.4.2 | 455 | 5/10/2018 |
0.2.4.1 | 453 | 4/23/2018 |
0.2.4 | 434 | 4/23/2018 |
0.2.3.1 | 474 | 4/18/2018 |
0.2.3 | 391 | 4/13/2018 |
0.2.2 | 426 | 4/6/2018 |
0.2.1 | 449 | 3/1/2018 |
0.2.0 | 458 | 2/16/2018 |
0.1.3 | 487 | 2/6/2018 |
0.1.2.2 | 528 | 1/26/2018 |
0.1.2.1 | 421 | 1/12/2018 |
0.1.2 | 433 | 12/27/2017 |
0.1.1.1 | 379 | 12/13/2017 |
0.1.1 | 446 | 12/11/2017 |
0.1.0.1 | 405 | 12/1/2017 |
0.1.0 | 556 | 11/27/2017 |