nut.js enables you to search for images on your screen.
To represent image data, nut.js provides the
Image holds all the data required to perform on-screen search.
- the image
- the image
- a buffer storing raw image
- the amount of color
Additionally, it also stores information about the order of color channels. By default, nut.js images are stored using the
BGR color mode. This mode was chosen to align with a well known computer vision library.
However, since not every image processing library expects image data in
BGR ordering, nut.js images provide methods to convert between
const bgrImage = new Image(...); const rgbImage = bgrImage.toRGB();
const rgbImage = new Image(..., ColorMode.RGB); const bgrImage = rgbImage.toBGR();
nut.js provides helpers for image loading.
loadImage receives a full path to an image, loads it and returns an
BGR color mode, representing this particular file. The image id will automatically be set to the path it was loaded from.
Often times, images are loaded to be used as inputs to
Screen#find or similar. For such use cases, nut.js provides the
imageResources helper function to load images relative to a configured resource directory.
Especially when collaborating with others, keeping all image resources on disk can become cumbersome. Remote image loading allows you to store and manage all your image assets in a central place.
fetchFromUrl allows you to pass in a URL to an image located on a remote host that will be fetched and returned as nut.js
Similar to image loading, nut.js provides helpers for image saving as well.
saveImage receives an
ImageWriterParameters object that consists of the following:
nut.js will take care of possibly required color mode conversions, so you, as a user, do not have to care about it.
When searching for images on your screen, nut.js uses the
Region datatype to represent a 2D area on your screen.
const r = new Region(10, 100, 400, 300); console.log(r); const regionArea = r.area();
When navigating your screen, nut.js relies on the
Point datatype to represent points in 2D space.
Point is a simple data structure holding an
const p = new Point(10, 100); console.log(p);