Beispiel #1
0
 public void SetDocument(MNDocument doci)
 {
     doc = doci;
     comboBox1.Items.Clear();
     foreach (MNReferencedImage img in doc.DefaultLanguage.Images)
     {
         comboBox1.Items.Add(img);
     }
     control = null;
 }
Beispiel #2
0
 public void SetControl(SMImage sMImage)
 {
     SetDocument(sMImage.Document);
     SetImage(sMImage.Img);
     control = sMImage;
     if (control != null)
     {
         trackBar1.Value = control.SourceOffsetX / 5;
     }
 }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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");
                }
            }
        }