private void BtnCreate_Click(object sender, EventArgs e) { if (sender == null) { return; } if (renderedSelectedBox != null) { return; } EditorImage dImg = (EditorImage)treeView1.SelectedNode.Tag; dImg.AddBox(new EditorBox(new DataBox { Top = 100, Left = 100, Height = 200, Width = 100, Label = "new box" })); pBox.Image = dImg.Render(); }
//public virtual void Editor_Generate(string[] str) //{ // if (PageInfo.World == null) return; // EditorVolume editor = new EditorVolume(); // editor.Texture_Up = Info.UrlToImage(str[1]); // editor.Texture_In = Info.UrlToImage(str[2]); // editor.Texture_Out = Info.UrlToImage(str[3]); // string name = str[4] + ".png"; // string p = Info.address_Images_HDD + @"/Templates/"; // if (!Directory.Exists(p)) // Directory.CreateDirectory(p); // p += name; // editor.OnImage(p); // string URL = Info.ImageToUrl(p); // TemplateJSON template = new TemplateJSON(name, 1, 1, URL); // if (Editor != null && template != null) // Editor.Template(template); // Add(new MsgJSON_Object("TEMPLATES", template)); // Add(new MsgJSON_String("EDITOR_GENERATE", URL)); //} public virtual void Editor_Generate(string[] str) { if (PageInfo.World == null) { return; } EditorImage editor = new EditorImage(); editor.Texture_Z = Info.UrlToImage(str[1]); editor.Texture_Y = Info.UrlToImage(str[2]); editor.Texture_X = Info.UrlToImage(str[3]); string name = str[4] + ".png"; string p = Info.address_Images_HDD + @"/Templates/"; if (!Directory.Exists(p)) { Directory.CreateDirectory(p); } p += name; editor.OnImageCube(p); string URL = Info.ImageToUrl(p); TemplateJSON template = new TemplateJSON(name, 4, 4, URL); if (Editor != null && template != null) { Editor.Template(template); } Add(new MsgJSON_Object("TEMPLATES", template)); Add(new MsgJSON_String("EDITOR_GENERATE", URL)); }
private void Button1_Click_1(object sender, EventArgs e) { if (sender == null) { return; } if (renderedSelectedBox == EditorBox.None) { return; } EditorImage dImg = (EditorImage)treeView1.SelectedNode.Tag; Image region = dImg.GetImage(renderedSelectedBox); SaveFileDialog sfdlg = new SaveFileDialog(); if (sfdlg.ShowDialog() != DialogResult.OK) { return; } if (string.IsNullOrEmpty(sfdlg.FileName)) { return; } region.Save(sfdlg.FileName); region.Dispose(); }
private void AddImageToDataset(string fPath) { try { if (t == null) { t = new EditorDataSet(new DataSet { Name = @"Temp", Comment = @"Draft" }); } EditorImage addImg = t.AddImage(fPath); treeView1.Nodes.Clear(); TreeNode root = treeView1.Nodes.Add("{0} - [{1} image(s)]", t.Name, t.Images.Count); foreach (var dsImg in t.Images) { root.Nodes.Add(new TreeNode { Tag = dsImg, Text = dsImg.ToString() }); } } catch (Exception) { } }
private void BtnApply_Click(object sender, EventArgs e) { renderedSelectedBox.SetLabel(labelTxt.Text); datasetService.Save(t.DlibObject); EditorImage dImg = (EditorImage)treeView1.SelectedNode.Tag; pBox.Image = renderedSelectedBox.ChangeState(dImg); }
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (sender == null) { return; } if (e.Node.Tag == null) { return; } EditorImage dImg = (EditorImage)e.Node.Tag; pBox.Image?.Dispose(); pBox.Image = dImg.Render(); editorStatusLabel.Text = string.Format("Image {0} has {1} boxes", dImg.ToString(), dImg.Boxes.Count); }
public void DrawShadow() { Texture2D tex = EditorImage.GetImage(EditorImage.ImageType.SHADOW); Rect shadowRect = new Rect(canvasRect.width - tex.width / 4, 0, tex.width / 4, canvasRect.height); GUI.DrawTextureWithTexCoords(shadowRect, tex, EditorImage.ShadowRect[EditorImage.ShadowDirect.RIGHT], true);// 2, canvasRect.height / tex.height / 2), true); shadowRect.x = 0; GUI.DrawTextureWithTexCoords(shadowRect, tex, EditorImage.ShadowRect[EditorImage.ShadowDirect.LEFT], true); shadowRect.width = canvasRect.width; shadowRect.height = tex.height / 4; shadowRect.x = 0; shadowRect.y = 0; GUI.DrawTextureWithTexCoords(shadowRect, tex, EditorImage.ShadowRect[EditorImage.ShadowDirect.TOP], true); shadowRect.y = canvasRect.height - tex.height / 4; GUI.DrawTextureWithTexCoords(shadowRect, tex, EditorImage.ShadowRect[EditorImage.ShadowDirect.BOTTOM], true); }
private void OnImageClick(object sender, MouseEventArgs e) { if (sender == null) { return; } if (pBox.Image == null) { return; } EditorImage t = (EditorImage)treeView1.SelectedNode.Tag; if (t == null) { return; } if (e.Button == MouseButtons.Left) { /* Box su cui si è cliccato null altrimenti */ EditorBox clickedBox = t.GetBox(e.X, e.Y); /* Se la zona su cui si è cliccato non ha una box */ if (clickedBox == EditorBox.None) { t.Boxes.FindAll(b => b.IsSelected).ForEach(b => b.ChangeState(t)); return; } if (renderedSelectedBox != clickedBox) { if (renderedSelectedBox != EditorBox.None) { renderedSelectedBox?.ChangeState(t); } } renderedSelectedBox = clickedBox; Image rendered = renderedSelectedBox?.ChangeState(t); //365ms if (rendered == null) { return; } /* Se è stata selezionata una box imposta l'editor dati */ SetEditorData(rendered); // 1270ms pBox.Image.Dispose(); pBox.Image = rendered; boxEditor.Enabled = true; return; } if (e.Button == MouseButtons.Right) { FilterOptions fOpts = new FilterOptions(); Bitmap bmpMask = new Bitmap(t.File); EditorImage dImg = (EditorImage)treeView1.SelectedNode.Tag; bmpMask = new Bitmap(t.File); FillRegionDetector det = new FillRegionDetector(e.Location); bmpMask = new ContrastFilter(0.8f).Apply(bmpMask); det.Apply(bmpMask); Rectangle area = det.Detected; if (area.Width <= 0 || area.Height <= 0) { MessageBox.Show(@"No valid box detected!", @"No box detected", MessageBoxButtons.OK, MessageBoxIcon.Information); bmpMask.Dispose(); return; } dImg.AddBox(new EditorBox(new DataBox { Top = area.Top, Left = area.Left, Height = area.Height, Width = area.Width, Label = "new box" })); bmpMask.Dispose(); pBox.Image.Dispose(); pBox.Image = dImg.Render(); return; } }
private void RenderCurrentImage() { EditorImage dImg = (EditorImage)treeView1.SelectedNode.Tag; pBox.Image = dImg.Render(); }