private void Highlight_Click(object sender, RoutedEventArgs e) { var Image = ModelItem.GetValue <string>("Image"); var stream = new System.IO.MemoryStream(Convert.FromBase64String(Image)); var b = new System.Drawing.Bitmap(stream); var Threshold = ModelItem.GetValue <double>("Threshold"); var CompareGray = ModelItem.GetValue <bool>("CompareGray"); var Processname = ModelItem.GetValue <string>("Processname"); var limit = ModelItem.GetValue <Rectangle>("Limit"); if (Threshold < 0.5) { Threshold = 0.8; } var matches = ImageEvent.waitFor(b, Threshold, Processname, TimeSpan.FromMilliseconds(100), CompareGray, limit); if (stream != null) { stream.Dispose(); } stream = null; b.Dispose(); b = null; foreach (var r in matches) { var element = new ImageElement(r); element.Highlight(false, System.Drawing.Color.PaleGreen, TimeSpan.FromSeconds(1)); } }
private void Highlight_Click(object sender, RoutedEventArgs e) { var image = ImageString; Bitmap b = Task.Run(() => { return(Interfaces.Image.Util.LoadBitmap(image)); }).Result; using (b) { var Threshold = ModelItem.GetValue <double>("Threshold"); var CompareGray = ModelItem.GetValue <bool>("CompareGray"); var Processname = ModelItem.GetValue <string>("Processname"); var limit = ModelItem.GetValue <Rectangle>("Limit"); if (Threshold < 0.5) { Threshold = 0.8; } var matches = ImageEvent.waitFor(b, Threshold, Processname, TimeSpan.FromMilliseconds(100), CompareGray, limit); foreach (var r in matches) { var element = new ImageElement(r); element.Highlight(false, System.Drawing.Color.PaleGreen, TimeSpan.FromSeconds(1)); } } }
private async void Highlight_Click(object sender, RoutedEventArgs e) { var OffsetX = ModelItem.GetValue <int>("OffsetX"); var OffsetY = ModelItem.GetValue <int>("OffsetY"); var Width = ModelItem.GetValue <int>("Width"); var Height = ModelItem.GetValue <int>("Height"); Rectangle match = await GetBaseRectangle(); var _hi = new ImageElement(match); _ = _hi.Highlight(false, System.Drawing.Color.Blue, TimeSpan.FromSeconds(1)); var rect = new ImageElement(new Rectangle(_hi.X + OffsetX, _hi.Y + OffsetY, Width, Height)); await rect.Highlight(false, System.Drawing.Color.PaleGreen, TimeSpan.FromSeconds(1)); Interfaces.GenericTools.Restore(); }
private async void Highlight_Click(object sender, RoutedEventArgs e) { Rectangle match = await GetBaseRectangle(); var X = ModelItem.GetValue <int>("X"); var Y = ModelItem.GetValue <int>("Y"); var Width = ModelItem.GetValue <int>("Width"); var Height = ModelItem.GetValue <int>("Height"); if (match.IsEmpty) { match = new Rectangle(0, 0, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height); } var _hi = new ImageElement(match); _ = _hi.Highlight(false, System.Drawing.Color.Blue, TimeSpan.FromSeconds(1)); var rect = new ImageElement(new Rectangle(_hi.X + X, _hi.Y + Y, Width, Height)); await rect.Highlight(false, System.Drawing.Color.PaleGreen, TimeSpan.FromSeconds(1)); Interfaces.GenericTools.Restore(); }
private void Highlight_Click(object sender, RoutedEventArgs e) { var OffsetX = ModelItem.GetValue <int>("OffsetX"); var OffsetY = ModelItem.GetValue <int>("OffsetY"); var Width = ModelItem.GetValue <int>("Width"); var Height = ModelItem.GetValue <int>("Height"); ModelItem loadFrom = ModelItem.Parent; string loadFromSelectorString = ""; ModelItem gettext = null; while (loadFrom.Parent != null) { var p = loadFrom.Properties.Where(x => x.Name == "Image").FirstOrDefault(); if (p != null) { loadFromSelectorString = loadFrom.GetValue <string>("Selector"); break; } if (loadFrom.ItemType == typeof(GetText)) { gettext = loadFrom; } loadFrom = loadFrom.Parent; } Interfaces.IElement element = null; Rectangle match = Rectangle.Empty; if (!string.IsNullOrEmpty(loadFromSelectorString)) { var selector = new Interfaces.Selector.Selector(loadFromSelectorString); var pluginname = selector.First().Selector; var Plugin = Interfaces.Plugins.recordPlugins.Where(x => x.Name == pluginname).First(); var elements = Plugin.GetElementsWithSelector(selector, null, 1); if (elements.Length > 0) { element = elements[0]; } } if (gettext != null && element != null) { var matches = GetText.Execute(element, gettext); if (matches.Length > 0) { match = matches[0].Rectangle; } else { return; //var tip = new Interfaces.Overlay.TooltipWindow("Mark a found item"); //match = await getrectangle.GetitAsync(); //tip.Close(); //tip = null; } } else { var Image = loadFrom.GetValue <string>("Image"); var stream = new System.IO.MemoryStream(Convert.FromBase64String(Image)); var b = new System.Drawing.Bitmap(stream); var Threshold = loadFrom.GetValue <double>("Threshold"); var CompareGray = loadFrom.GetValue <bool>("CompareGray"); var Processname = loadFrom.GetValue <string>("Processname"); var limit = loadFrom.GetValue <Rectangle>("Limit"); if (Threshold < 0.5) { Threshold = 0.8; } // Interfaces.GenericTools.minimize(Interfaces.GenericTools.mainWindow); System.Threading.Thread.Sleep(100); var matches = ImageEvent.waitFor(b, Threshold, Processname, TimeSpan.FromMilliseconds(100), CompareGray, limit); if (matches.Count() == 0) { Interfaces.GenericTools.restore(); return; } match = matches[0]; } var _hi = new ImageElement(match); _hi.Highlight(false, System.Drawing.Color.Blue, TimeSpan.FromSeconds(1)); var rect = new ImageElement(new Rectangle(_hi.X + OffsetX, _hi.Y + OffsetY, Width, Height)); rect.Highlight(false, System.Drawing.Color.PaleGreen, TimeSpan.FromSeconds(1)); }