/// <summary> /// /// </summary> /// <param name="host"></param> public BatchProcessForm(AddinHost host) { Host = host; InitializeComponent(); AddinUtils.Translate(addin, this, toolTip, new object[] { cmsFileList, dlgOpen }); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void AddinEffectSubItemClick(object sender, EventArgs e) { string an = (sender as RibbonButton).Value; string ans = (sender as RibbonButton).SelectedValue; if (addins.CurrentApp != null && addins.Effects.ContainsKey(an)) { addins.CurrentFilter = addins.Effects[an]; if (addins.CurrentFilter != null && addins.CurrentApp.ImageData is Image) { var jsonFile = Path.Combine(Path.GetDirectoryName(addins.CurrentFilter.Location), $"latest_{addins.CurrentFilter.Name}.json"); addins.CurrentFilter.Params = addins.CurrentFilter.Params.LoadJSON(jsonFile); addins.CurrentFilter.ImageData = addins.CurrentApp.ImageData; object data = null; addins.CurrentFilter.Command(AddinCommand.SubItems, out data, ans); if (addins.CurrentFilter.Success) { if (addins.CurrentFilter.ImageData is Image) { addins.CurrentApp.ImageData = addins.CurrentFilter.ImageData; } addins.CurrentFilter.SaveJSON(jsonFile, addins.CurrentFilter.Params); } int bits = AddinUtils.GetColorDeep(addins.CurrentApp.ImageData.PixelFormat); tssLabelImageSize.Text = $"{addins.CurrentApp.ImageData.Width} x {addins.CurrentApp.ImageData.Height} x {bits}"; } addins.CurrentFilter = null; } }
private void SharpenForm_Load(object sender, EventArgs e) { thumb = AddinUtils.CreateThumb(addin.ImageData, imgPreview.Size); imgPreview.Image = thumb; if (sharpenMode == SharpenMode.Normal) { btnModeNormal.PerformClick(); } else if (sharpenMode == SharpenMode.Gaussian) { btnModeGaussian.PerformClick(); } else if (sharpenMode == SharpenMode.GDI) { btnModeGdi.PerformClick(); } edGaussianSigma.Value = Convert.ToDecimal(gaussianSigma); edGaussianSize.Value = Convert.ToDecimal(gaussianSize); edGaussianThreshold.Value = Convert.ToDecimal(gaussianThreshold); edGdiRatio.Value = Convert.ToDecimal(gdiRatio); edGdiAmount.Value = Convert.ToDecimal(gdiAmount); }
private void SendErrorReport() { try { // TODO: Add error handling for invalid arguments /*RegistryKey regKey; * RegistryKey tempKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, ""); * string subkey = "Software\\CadFaster\\SolidWorksAddIn\\Settings"; * regKey = tempKey.OpenSubKey(subkey); * Object pathName = regKey.GetValue("PathName"); * string path = (string)pathName;*/ String path = AddinUtils.GetApplicationPath(); string[] filenames = new string[2]; filenames[0] = path + "\\error.log"; filenames[1] = path + "\\dump.dmp"; EmailController.SendMail(filenames, "CadFaster Translator for SolidWorks has been crashed", "*****@*****.**"); //smtpClient.Send(mailMsg); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { this.Dispose(); } }
public override Image Apply(Image image) { GetParams(fm); if (!(image is Image)) { return(image); } Rectangle region = new Rectangle(0, 0, ImgSrc.Width, ImgSrc.Height); if (Params.ContainsKey("CropRegion")) { region = (Rectangle)Params["CropRegion"].Value; } if (Params.ContainsKey("CropSide")) { var side = (SideType)Params["CropSide"].Value; region = Rectangle.Round(AddinUtils.AdjustRegion(region, ImgSrc, side)); } if (region.Width > 0 && region.Height > 0) { Accord.Imaging.Filters.Crop filter = new Accord.Imaging.Filters.Crop(region); Bitmap dst = filter.Apply(AddinUtils.CloneImage(ImgSrc) as Bitmap); AddinUtils.CloneExif(ImgSrc, dst); return(dst); } else { return(ImgSrc); } }
/// <summary> /// //// /// </summary> /// <param name="filter"></param> public CropForm(IAddin filter) { this.addin = filter; InitializeComponent(); toolTip.ToolTipTitle = addin.DisplayName; AddinUtils.Translate(addin, this, toolTip); aspectList.Clear(); aspectList.Add("1 x 1", new Size(1, 1)); aspectList.Add("2 x 1", new Size(2, 1)); aspectList.Add("3 x 1", new Size(3, 1)); aspectList.Add("3 x 2", new Size(3, 2)); aspectList.Add("4 x 3", new Size(4, 3)); aspectList.Add("16 x 9", new Size(16, 9)); aspectList.Add("16 x 10", new Size(16, 10)); aspectList.Add("1 x 2", new Size(1, 2)); aspectList.Add("1 x 3", new Size(1, 3)); aspectList.Add("2 x 3", new Size(2, 3)); aspectList.Add("3 x 4", new Size(3, 4)); aspectList.Add("9 x 16", new Size(9, 16)); aspectList.Add("10 x 16", new Size(10, 16)); thumb = AddinUtils.CreateThumb(addin.ImageData, imgPreview.Size); imgPreview.Image = thumb; }
private void HueFilterForm_Load(object sender, EventArgs e) { thumb = AddinUtils.CreateThumb(addin.ImageData, imgPreview.Size); edHue.Step = 1; edHue.Value = 180; imgPreview.Image = addin.Apply(thumb); }
public InvertForm(IAddin filter) { this.addin = filter; InitializeComponent(); toolTip.ToolTipTitle = addin.DisplayName; AddinUtils.Translate(addin, this, toolTip); }
private void HslFilterForm_Load(object sender, EventArgs e) { thumb = AddinUtils.CreateThumb(addin.ImageData, imgPreview.Size); imgPreview.Image = thumb; cbGrayMode.DataSource = Enum.GetValues(typeof(GrayscaleMode)); edSat.Color = edHue.ToRgb(hslSat, hslLum); //edLum.Color = edHue.ToRgb( hslSat, hslLum ); }
//private List<ParamList> effectParams = new List<ParamList>(); internal void LoadPicture(string picFile) { if (File.Exists(picFile)) { picObject = AddinUtils.LoadImage(picFile); option.ImageCache = picObject as Bitmap; option.PictureFile = picFile; Preview(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _DragDrop(object sender, DragEventArgs e) { string[] flist = (string[])e.Data.GetData(DataFormats.FileDrop, true); if (flist.Length > 0 && File.Exists(flist[0])) { picObject = AddinUtils.LoadImage(flist[0]); option.ImageCache = picObject as Bitmap; Preview(); } }
public static void FirstChanceHandler(object source, FirstChanceExceptionEventArgs e) { //Debug.WriteLine(e.Exception.GetType().Name); if (e.Exception.GetType().Name != "UserAbortException") { string path = AddinUtils.GetApplicationPath(); string outputFileName = path + "\\dump.dmp"; //"c:\\projs\\dump.dmp"; Utility.MiniDump.TryDump(outputFileName, Utility.MiniDumpType.Normal); } }
private void imgPreview_SelectionRegionChanged(object sender, EventArgs e) { if (!mMoveRegion || !mSelection) { selection = imgPreview.SelectionRegion; selectionCorner = new CornerRegion(selection); } selectionSrc = AddinUtils.RemapRegion(imgPreview.SelectionRegion, thumb, addin.ImageData); toolTip.SetToolTip(imgPreview, $"X:{selectionSrc.X}, Y:{selectionSrc.Y}, W:{selectionSrc.Width}, H:{selectionSrc.Height}]"); }
public ResizeForm(IAddin filter) { this.addin = filter; InitializeComponent(); cbResizeMethod.Items.Clear(); cbResizeMethod.Items.Add(AddinUtils.T("Bicubic")); cbResizeMethod.Items.Add(AddinUtils.T("Bilinear")); cbResizeMethod.Items.Add(AddinUtils.T("Nearest")); }
/// <summary> /// /// </summary> /// <returns></returns> internal ParamItem GetAngle(string name) { ParamItem pi = new ParamItem(); pi.Name = name; pi.DisplayName = AddinUtils._(addin, name); pi.Type = typeof(double); pi.Value = (double)numAngle.Value; return(pi); }
/// <summary> /// //// /// </summary> /// <param name="filter"></param> public RotateForm(IAddin filter) { this.addin = filter; InitializeComponent(); toolTip.ToolTipTitle = addin.DisplayName; AddinUtils.Translate(addin, this, toolTip); //thumb = CreateThumb( addin.ImageData ); thumb = AddinUtils.CreateThumb(addin.ImageData, imgPreview.Size); }
/// <summary> /// /// </summary> /// <returns></returns> internal ParamItem GetMode(string name) { ParamItem pi = new ParamItem(); pi.Name = name; pi.DisplayName = AddinUtils._(addin, name); pi.Type = typeof(RotateFlipType); pi.Value = flip; return(pi); }
/// <summary> /// /// </summary> /// <returns></returns> internal ParamItem GetKeepSize(string name) { ParamItem pi = new ParamItem(); pi.Name = name; pi.DisplayName = AddinUtils._(addin, name); pi.Type = typeof(bool); pi.Value = chkKeepSize.Checked; return(pi); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BatchProcessForm_Load(object sender, EventArgs e) { AddinUtils.Translate(addin, this, toolTip, new object[] { cmsFileList, dlgOpen }); // //this.MinimizeBox = false; //this.MaximizeBox = false; //this.ControlBox = false; //this.WindowState = FormWindowState.Maximized; //this.FormBorderStyle = FormBorderStyle.None; }
/// <summary> /// /// </summary> /// <param name="img"></param> /// <returns></returns> private Image CreateThumb(Image img) { double thumbSize = 160f; //double aspect = (float)img.Width / (float)img.Height; double factor = Math.Max(img.Width, img.Height) / thumbSize; int w = (int)Math.Round(img.Width / factor); int h = (int)Math.Round(img.Height / factor); ResizeBicubic filter = new ResizeBicubic(w, h); return(AddinUtils.ProcessImage(filter, img)); }
/// <summary> /// /// </summary> /// <param name="image"></param> /// <param name="mode"></param> /// <returns></returns> internal Image Gray(Image image, GrayscaleMode mode = GrayscaleMode.BT709, ColorMatrix cm = null, string cmfile = null) { #region Fill ColorMatrix List if (GrayscaleMatrix.Count == 0) { InitColorMatrix(); } #endregion if (!GrayscaleMatrix.ContainsKey(mode)) { return(image); } ImageAttributes a = new ImageAttributes(); ColorMatrix c = GrayscaleMatrix[mode]; if (mode == GrayscaleMode.TestMatrix) { if (cm is ColorMatrix) { c = cm; } else if (!string.IsNullOrEmpty(cmfile)) { c = LoadColorMatrix(cmfile); } } a.SetColorMatrix(c, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); Bitmap src = AddinUtils.CloneImage(image) as Bitmap; if (src.PixelFormat != PixelFormat.Format32bppArgb) { src = Accord.Imaging.Image.Clone(src, PixelFormat.Format32bppArgb); } Bitmap dst = new Bitmap(src.Width, src.Height, src.PixelFormat); using (var g = Graphics.FromImage(dst)) { g.SmoothingMode = SmoothingMode.HighQuality; g.PixelOffsetMode = PixelOffsetMode.Half; g.InterpolationMode = InterpolationMode.HighQualityBicubic; g.DrawImage(src, new Rectangle(0, 0, src.Width, src.Height), 0, 0, src.Width, src.Height, GraphicsUnit.Pixel, a); } AddinUtils.CloneExif(src, dst); return(dst); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lvFiles_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (imgPreview.Image != null) { imgPreview.Image.Dispose(); } //imgPreview.Image = new Bitmap( e.Item.SubItems[1].Text ); //lvAddins.Image = imgPreview.Image; _image = AddinUtils.LoadImage(e.Item.SubItems[1].Text); imgPreview.Image = _image; lvAddins.Image = _image; }
private void CropForm_Load(object sender, EventArgs e) { cbAspect.Items.Clear(); cbAspect.Items.AddRange(aspectList.Keys.ToArray()); cbAspect.SelectedIndex = 0; btnModeTrans.Enabled = AddinUtils.AlphaFormat.Contains(addin.ImageData.PixelFormat); if (cropSide.HasFlag(SideType.Left)) { chkSideL.Checked = true; } else { chkSideL.Checked = false; } if (cropSide.HasFlag(SideType.Right)) { chkSideR.Checked = true; } else { chkSideR.Checked = false; } if (cropSide.HasFlag(SideType.Top)) { chkSideT.Checked = true; } else { chkSideT.Checked = false; } if (cropSide.HasFlag(SideType.Bottom)) { chkSideB.Checked = true; } else { chkSideB.Checked = false; } if (selection.Width > 0 && selection.Height > 0) { btnModeSelection.PerformClick(); imgPreview.SelectionRegion = AddinUtils.RemapRegion(selectionSrc, addin.ImageData, thumb); } else { btnModeAspect.PerformClick(); } }
/// <summary> /// /// </summary> /// <param name="image"></param> /// <returns></returns> public override Image Apply(Image image) { GetParams(fm); if (!(image is Image)) { return(image); } Bitmap dst = AddinUtils.CloneImage(image) as Bitmap; BlurMode blurMode = (BlurMode)Params["BlurMode"].Value; double gaussianSigma = (double)Params["GaussianSigma"].Value; int gaussianSize = (int)Params["GaussianSize"].Value; int gaussianThreshold = (int)Params["GaussianThreshold"].Value; int boxSize = (int)Params["BoxSize"].Value; float gdiRatio = (float)Params["GdiRatio"].Value; Accord.Imaging.Filters.IFilter filter = null; switch (blurMode) { case BlurMode.Normal: filter = new Accord.Imaging.Filters.Blur(); if (dst is Image) { dst = (filter as Accord.Imaging.Filters.Blur).Apply(dst); } break; case BlurMode.Gaussian: filter = new Accord.Imaging.Filters.GaussianBlur(); (filter as Accord.Imaging.Filters.GaussianBlur).Sigma = gaussianSigma; (filter as Accord.Imaging.Filters.GaussianBlur).Size = gaussianSize; (filter as Accord.Imaging.Filters.GaussianBlur).Threshold = gaussianThreshold; dst = filter.Apply(dst); break; case BlurMode.Box: filter = new Accord.Imaging.Filters.FastBoxBlur((byte)boxSize, (byte)boxSize); dst = AddinUtils.ProcessImage(filter, dst, false); break; case BlurMode.GDI: var effect = new BlurEffect(gdiRatio, true); dst.ApplyEffect(effect, new Rectangle(0, 0, dst.Width, dst.Height)); break; } AddinUtils.CloneExif(image, dst); return(dst); }
public GrayscaleForm(IAddin filter) { this.addin = filter; InitializeComponent(); toolTip.ToolTipTitle = addin.DisplayName; AddinUtils.Translate(addin, this, toolTip); thumb = AddinUtils.CreateThumb(addin.ImageData, imgPreview.Size); imgPreview.Image = thumb; cbGrayMode.Tag = false; cbGrayMode.DataSource = Enum.GetValues(typeof(GrayscaleMode)); cbGrayMode.Tag = true; }
public HueFilterForm(IAddin filter) { InitializeComponent(); this.addin = filter; this.Text = addin.DisplayName; this.FormBorderStyle = FormBorderStyle.FixedToolWindow; this.MaximizeBox = false; this.MinimizeBox = false; this.ShowIcon = false; this.ShowInTaskbar = false; this.StartPosition = FormStartPosition.CenterParent; toolTip.ToolTipTitle = addin.DisplayName; AddinUtils.Translate(addin, this, toolTip); }
/// <summary> /// /// </summary> private void InitParams() { Dictionary <string, object> kv = new Dictionary <string, object>(); kv.Add("InvertMode", InvertMode.Normal); Params.Clear(); foreach (var item in kv) { Params.Add(item.Key, new ParamItem()); Params[item.Key].Name = item.Key; Params[item.Key].DisplayName = AddinUtils._(this, item.Key); Params[item.Key].Type = item.Value.GetType(); Params[item.Key].Value = item.Value; } }
private void btnEffectAdd_Click(object sender, EventArgs e) { lvFilters.BeginUpdate(); foreach (IAddin filter in AddinUtils.ShowAddinsDialog()) { ilLarge.Images.Add(filter.LargeIcon); ilSmall.Images.Add(filter.SmallIcon); effects.Add(new ListViewItem(filter.DisplayName)); effects.Last().Selected = false; effects.Last().Tag = filter; effects.Last().ImageIndex = ilLarge.Images.Count; effects.Last().Checked = true; } lvFilters.VirtualListSize = effects.Count; lvFilters.EndUpdate(); this.ValueChanged?.Invoke(this, e); }
/// <summary> /// /// </summary> private void InitParams() { Dictionary <string, object> kv = new Dictionary <string, object>(); kv.Add("GrayscaleMode", GrayscaleMode.BT709); kv.Add("ColorMatrix", null); kv.Add("ColorMatrixFile", ""); Params.Clear(); foreach (var item in kv) { Params.Add(item.Key, new ParamItem()); Params[item.Key].Name = item.Key; Params[item.Key].DisplayName = AddinUtils._(this, item.Key); Params[item.Key].Type = item.Value.GetType(); Params[item.Key].Value = item.Value; } }
private void InitParams() { Dictionary <string, object> kv = new Dictionary <string, object>(); kv.Add("Mode", RotateFlipType.RotateNoneFlipNone); kv.Add("Angle", 0f); kv.Add("KeepSize", false); Params.Clear(); foreach (var item in kv) { Params.Add(item.Key, new ParamItem()); Params[item.Key].Name = item.Key; Params[item.Key].DisplayName = AddinUtils._(this, item.Key); Params[item.Key].Type = item.Value.GetType(); Params[item.Key].Value = item.Value; } }