public Image DrawRectangles(DrawRectangleRequest request) { using (WebClient client = new WebClient()) { client.Headers.Add("Apikey", Apikey); string url = "https://api.cloudmersive.com/image/edit/draw/rectangle"; //url = "http://localhost:64058/image/edit/draw/rectangle"; string strInput = JsonConvert.SerializeObject(request); client.Headers.Add("Content-Type", "application/json"); var response = client.UploadData(url, "POST", System.Text.Encoding.ASCII.GetBytes(strInput)); using (MemoryStream stream = new MemoryStream(/*Encoding.UTF8.GetBytes*/ (response))) { Image img = Image.FromStream(stream); return(img); } } }
private void btnDetectObjects_Click(object sender, RoutedEventArgs e) { var dlg = new OpenFileDialog(); if (!dlg.ShowDialog().Value) { return; } string path = dlg.FileName; // Process image var imageSourceConverter = new ImageSourceConverter(); ImageRecognitionAndProcessingClient client = new ImageRecognitionAndProcessingClient(); var objects = client.DetectObjects(File.ReadAllBytes(path)); System.Drawing.Image outcome = System.Drawing.Image.FromFile(dlg.FileName); foreach (var obj in objects.Objects) { DrawRectangleRequest req = new DrawRectangleRequest(); using (MemoryStream stream = new MemoryStream()) { outcome.Save(stream, System.Drawing.Imaging.ImageFormat.Png); req.BaseImageBytes = stream.ToArray(); DrawRectangleInstance instance = new DrawRectangleInstance(); instance.BorderColor = "red"; instance.BorderWidth = 5; instance.X = obj.X; instance.Y = obj.Y; instance.Width = obj.Width; instance.Height = obj.Height; req.RectanglesToDraw = new DrawRectangleInstance[] { instance }; outcome = client.DrawRectangles(req); } } byte[] tempBitmap = BitmapToByte((System.Drawing.Bitmap)outcome); ImageSource image = (ImageSource)imageSourceConverter.ConvertFrom(tempBitmap); imgOutput.Source = image; }