private void btnShowPreview_Click(object sender, EventArgs e) { //When more than one frame, create duplicate action and view action if (Package.PackageState != AMTUtil.State.READY) { return; } if (lbFrames.SelectedIndex == -1) { MessageBox.Show("You need to select a frame!"); return; } if (lbFrames.SelectedItems.Count > 1) { MessageBox.Show("You cannot view more than one frame."); return; } if (Package.Animation.Actions[lbActions.SelectedIndex].Frames[lbFrames.SelectedIndex].ActionRef == null) { AMTResource PreviewResource = AMTUtil.GetResourceFromName(Package, Package.Animation.Actions[lbActions.SelectedIndex].Frames[lbFrames.SelectedIndex].Resource); FramePreview PreviewWindow = new FramePreview(AMTUtil.BytesToImage(PreviewResource.Frames[Package.Animation.Actions[lbActions.SelectedIndex].Frames[lbFrames.SelectedIndex].FrameRef])); PreviewWindow.Show(); } else { ActionPreview PreviewWindow = new ActionPreview(Package, AMTUtil.GetActionFromName(Package.Animation, Package.Animation.Actions[lbActions.SelectedIndex].Frames[lbFrames.SelectedIndex].ActionRef)); PreviewWindow.Show(); } }
private void lbFrames_SelectedIndexChanged(object sender, EventArgs e) { try { if (lbGifFrames.SelectedIndex == -1) { return; } //Make sure frames have been extracted if (Package.CurrentResource.Frames == null || Package.CurrentResource.Frames.Count() == 0) { throw new NoNullAllowedException("Frames have not been extracted"); } //Make sure the selected index is within range if (lbGifFrames.SelectedIndex > Package.CurrentResource.Frames.Count() - 1) { throw new IndexOutOfRangeException("Frame list does not contain index: " + lbGifFrames.SelectedIndex.ToString()); } //Clear the PictureBox ClearPictureBoxImage(); //Load the image from the byte array pbFrame.Image = AMTUtil.BytesToImage(Package.CurrentResource.Frames[lbGifFrames.SelectedIndex]); lblMd5.Text = "MD5: " + AMTUtil.ImageMD5(pbFrame.Image); } catch (Exception ex) { MessageBox.Show( "Error type: " + ex.GetType().ToString() + "\n" + "Message: " + ex.Message, "Error in " + MethodBase.GetCurrentMethod().Name ); } }