public void SetDocument(MNDocument doci) { doc = doci; comboBox1.Items.Clear(); foreach (MNReferencedImage img in doc.DefaultLanguage.Images) { comboBox1.Items.Add(img); } control = null; }
public void SetControl(SMImage sMImage) { SetDocument(sMImage.Document); SetImage(sMImage.Img); control = sMImage; if (control != null) { trackBar1.Value = control.SourceOffsetX / 5; } }
public void SetImage(MNLazyImage li) { doc = li.Document; image = li; comboBox1.Items.Clear(); int i = 0; int selected = -1; foreach (MNReferencedImage img in doc.DefaultLanguage.Images) { comboBox1.Items.Add(img); if (img == li.Image) { selected = i; } i++; } if (selected >= 0) { comboBox1.SelectedIndex = selected; } control = null; }
private void shrinkImagesToTheirCanvasToolStripMenuItem_Click(object sender, EventArgs e) { MNDocument doc = MNNotificationCenter.CurrentDocument; if (doc == null) { return; } Dictionary <long, Size> dsz = new Dictionary <long, Size>(); Dictionary <long, MNReferencedImage> dri = new Dictionary <long, MNReferencedImage>(); foreach (MNPage p in doc.Data.Pages) { foreach (SMControl c in p.Objects) { if (c is SMImage) { MNReferencedImage img = (c as SMImage).Img.Image; if (img != null && img.ImageData != null) { if (!img.Name.StartsWith("Image Pasted")) { continue; } SMRectangleArea area = c.Area; Rectangle bounds = area.GetBounds(PageEditDisplaySize.LandscapeBig); Size imageSize = img.ImageData.Size; Size imageDrawSize = SMImage.GetImageDrawSize(bounds, img.ImageData); if (imageSize.Width > imageDrawSize.Width || imageSize.Height > imageDrawSize.Height) { if (!dsz.ContainsKey(img.Id)) { Debugger.Log(0, "", "Image " + img.Id + " shrinked from " + imageSize.ToString() + " to " + imageDrawSize.ToString() + "\n"); dsz[img.Id] = imageDrawSize; dri[img.Id] = img; } else { Size storedSize = dsz[img.Id]; if (storedSize.Width < imageDrawSize.Width || storedSize.Height < imageDrawSize.Height) { dsz[img.Id] = imageDrawSize; } } } } } } } foreach (long imageId in dsz.Keys) { string tempFileName = Path.GetTempFileName(); if (dri.ContainsKey(imageId)) { Size newSize = dsz[imageId]; MNReferencedImage img = dri[imageId]; //Debugger.Log(0, "", " Size before shrink: " + GetImageSize(img.ImageData) + "\n"); ResizeImage(img.ImageData, newSize.Width, newSize.Height, tempFileName); Image newImage = Image.FromFile(tempFileName); img.ImageData = newImage; //Debugger.Log(0, "", " Size after shrink: " + GetImageSize(img.ImageData) + "\n"); doc.DefaultLanguage.Modified = true; Debugger.Log(0, "", "Used file " + tempFileName + "\n"); } } }