using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using Emgu.CV; using Emgu.CV.Structure; using bbiwarg.Utility; namespace bbiwarg.Images { public enum TouchImageState { none = 0, touchArea = 1, touchAreaMatched = 2, touchAreaStatusBar = 3, touchDetected = 4, touchTracked = 5 } class TouchImage { private Image image; public TouchImage(int width, int height) { image = new Image(width, height); } public void setStateAt(Point point, TouchImageState state) { setStateAt(point.X, point.Y, state); } public void setStateAt(int x, int y, TouchImageState state) { image.Data[y, x, 0] = (byte)state; int size = 5; if (state == TouchImageState.touchTracked || state == TouchImageState.touchDetected) { image.Draw(new CircleF(new System.Drawing.PointF(x, y), size), new Gray((byte) state), 0); } } public TouchImageState getStateAt(int x, int y) { return (TouchImageState)image.Data[y, x, 0]; } } }