private void displayImage(int imageIndex) { OricFileInfo fileInfo = (OricFileInfo)imageList[imageIndex]; OricProgram oricProgram = fileInfo.LoadFile(); oricScreenImage.m_ui16StartAddress = oricProgram.StartAddress; oricScreenImage.m_ui16DataLength = oricProgram.ProgramLength; oricScreenImage.bScrnData = oricProgram.m_programData; oricScreenImage.m_bFlash = !oricScreenImage.m_bFlash; if (oricProgram.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; } else { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } oricScreenImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_ENLARGED, screenImageFormat); pictureBoxScreenImage.Image = oricScreenImage.screenImageData; displayImageInfo(fileInfo); if (!slideshowRunning) { // Display thumbnail of current image foreach (Control control in flowLayoutPanelThumbnails.Controls) { if (control is Panel) { Panel panel = (Panel)control; panel.BackColor = Color.FromArgb(200, 200, 200); } } Control[] imagePanel = flowLayoutPanelThumbnails.Controls.Find(string.Format("panel_{0}", imageIndex), true); if (imagePanel.Count() == 1) { Panel panel = (Panel)imagePanel[0]; panel.BackColor = Color.FromArgb(150, 150, 150); panel.Focus(); } } enableDisableControls(); }
private void displayImage(int imageIndex) { OricProgram oricProgram = imageList[imageIndex].LoadFile(); oricScreenImage.m_ui16StartAddress = oricProgram.StartAddress; oricScreenImage.m_ui16DataLength = oricProgram.ProgramLength; oricScreenImage.bScrnData = oricProgram.m_programData; if (oricProgram.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; } else if (oricProgram.Format == OricProgram.ProgramFormat.TextScreen || oricProgram.Format == OricProgram.ProgramFormat.HelpFile) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } oricScreenImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_ENLARGED, screenImageFormat); pictureBoxScreenImage.Image = oricScreenImage.screenImageData; displayImageInfo(oricProgram); enableDisableControls(); }
private void generateThumbnails() { // Remove any images flowLayoutPanelThumbnails.Controls.Clear(); for (int imageIndex = 0; imageIndex < imageList.Count(); imageIndex++) { Panel imagePanel = new Panel(); imagePanel.Name = string.Format("panel_{0}", imageIndex); imagePanel.Size = new Size(170, 175); imagePanel.BorderStyle = BorderStyle.FixedSingle; imagePanel.BackColor = Color.FromArgb(200, 200, 200); Label imageLabel = new Label(); imageLabel.Name = string.Format("label_{0}", imageIndex); imageLabel.Size = new Size(160, 18); imageLabel.Font = new Font("Segoe UI", 8); imageLabel.TextAlign = ContentAlignment.MiddleCenter; imageLabel.Text = imageList[imageIndex].ProgramName; imageLabel.Left = 5; imageLabel.Top = 154; PictureBox screenImage = new PictureBox(); screenImage.Name = string.Format("{0}", imageIndex); screenImage.Size = new Size(160, 150); screenImage.BackColor = Color.White; screenImage.BorderStyle = BorderStyle.None; screenImage.SizeMode = PictureBoxSizeMode.Zoom; screenImage.Cursor = System.Windows.Forms.Cursors.Hand; screenImage.Top = 5; screenImage.Left = 5; toolTip1 = new ToolTip(); toolTip1.ToolTipTitle = "Image Information"; toolTip1.SetToolTip(screenImage, string.Format("Name : {0}\nFormat : {1}", imageList[imageIndex].ProgramName, imageList[imageIndex].FormatToString())); toolTip1.Popup += toolTip1_Popup; screenImage.Click += new System.EventHandler(screenImage_Click); OricProgram oricProgram = imageList[imageIndex].LoadFile(); ScreenImage thumbnailImage = new ScreenImage(); thumbnailImage.m_ui16StartAddress = oricProgram.StartAddress; thumbnailImage.m_ui16DataLength = oricProgram.ProgramLength; thumbnailImage.bScrnData = oricProgram.m_programData; if (oricProgram.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; } else { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } thumbnailImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_NORMAL, screenImageFormat); screenImage.Image = thumbnailImage.screenImageData; imagePanel.Controls.Add(screenImage); imagePanel.Controls.Add(imageLabel); flowLayoutPanelThumbnails.Controls.Add(imagePanel); } }