public bool AddPictureFile(cPictureFile pic, bool fitToFrame) { try { foreach (TabPage tabPage in tabControlImages.TabPages) { if (tabPage.Controls.Count > 0) { var viewer = (objImageViewer)tabPage.Controls[0]; viewer.Image = null; viewer.Dispose(); } } tabControlImages.TabPages.Clear(); cCamera driver = pic.pBelongsToFilm.pCameraDriver; List <cPicture> pictures; string message; if (!driver.developPicture(pic, out pictures, out message)) { return(false); } int i = 0; foreach (cPicture picture in pictures) { tabControlImages.TabPages.Add("Image " + i); if (fitToFrame) { Image img = ResizeImage(cImage.ByteArrToImage(picture.pJpeg), new Size(tabControlImages.TabPages[i].Width, tabControlImages.TabPages[i].Height)); var viewer = new objImageViewer { Image = img, Dock = DockStyle.Fill }; tabControlImages.TabPages[i].Controls.Add(viewer); } else { var viewer = new objImageViewer { Image = cImage.ByteArrToImage(picture.pJpeg), Dock = DockStyle.Fill }; tabControlImages.TabPages[i].Controls.Add(viewer); } i++; } return(true); } catch (Exception) { return(false); } }
private void AddToPanel(int i, cPicture picture, bool fitToFrame) { objImageViewer viewer = new objImageViewer { Width = GetWidth(), Height = GetHeight(), Left = GetLeft(i, Columns), Top = GetTop(i, Columns), }; Controls.Add(viewer); Controls.SetChildIndex(viewer, i); if (fitToFrame) { Image img = ResizeImage(cImage.ByteArrToImage(picture.pJpeg), new Size(viewer.Width, viewer.Height)); viewer.Image = img; } else { viewer.Image = cImage.ByteArrToImage(picture.pJpeg); } }