Ejemplo n.º 1
0
 /// <summary>
 /// Show all the frames of an image.
 /// </summary>
 /// <param name="pictureArgs">the image details</param>
 private void ShowFrames(object pictureArgs)
 {
     f0t0page.DisplayPictureEventArgs e = pictureArgs as f0t0page.DisplayPictureEventArgs;
     if (e != null)
     {
         try
         {
             //Image i = e.Image.Image.Clone() as Image;
             Image        i         = e.Image.Image;
             PropertyItem delayTime = i.GetPropertyItem(0x5100); //get frame delay
             int          delay     = (delayTime.Value[0] + delayTime.Value[1] * 256) * 10;
             for (int j = FrameIndex; j <= FrameCount; j++)
             {
                 j          = (j.CompareTo(FrameCount) == 0) ? 0 : j;
                 FrameIndex = j;
                 if (ShowPictureHandler != null)
                 {
                     ShowPictureHandler(new ShowPictureEventArgs(i, FrameIndex, frameDimension, e.Dimensions));
                 }
                 Thread.Sleep(delay);
             }
         }
         catch { /*ShowFrames(pictureArgs);*/ }
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Show animation within picture arguments
 /// </summary>
 /// <param name="pictureArgs"></param>
 private void ShowAnimation(object pictureArgs)
 {
     f0t0page.DisplayPictureEventArgs e = pictureArgs as f0t0page.DisplayPictureEventArgs;
     if (e != null)
     {
         Image i = e.Image.Image;
         this.Image = i;
         ImageAnimator.Animate(i, null);
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Shows a given image with specifications
        /// </summary>
        /// <param name="e"></param>
        public void Show(f0t0page.DisplayPictureEventArgs e)
        {
            LoadedPicture = e.Image;
            pictureSize   = e.Dimensions;
            if (LoadedPicture != null)
            {
                frameDimension = new FrameDimension(LoadedPicture.Image.FrameDimensionsList[0]);
                FrameCount     = LoadedPicture.Image.GetFrameCount(frameDimension);
                FrameIndex     = 0;
                if (ImageAnimator.CanAnimate(LoadedPicture.Image))
                {
                    #region framecounterMethod...

                    if (frameCounterThread != null && frameCounterThread.IsAlive)
                    {
                        frameCounterThread.Abort();
                    }
                    ParameterizedThreadStart starter = new ParameterizedThreadStart(ShowFrames);
                    frameCounterThread = new Thread(starter);
                    frameCounterThread.IsBackground = true;
                    frameCounterThread.Start(e);
                    #endregion
                    #region frameupdatemethod...

                    /*
                     * ParameterizedThreadStart starter = new ParameterizedThreadStart(ShowAnimation);
                     * if (frameCounterThread != null && frameCounterThread.IsAlive)
                     * {
                     *  frameCounterThread.Abort();
                     * }
                     * frameCounterThread = new Thread(starter);
                     * frameCounterThread.IsBackground = true;
                     * frameCounterThread.Start(e);
                     */
                    #endregion

                    //ShowAnimation(e);
                    //e = null;
                }
                else
                {
                    ShowPictureFrame(new ShowPictureEventArgs(LoadedPicture.Image,
                                                                                                                                              //FrameIndex, frameDimension, e.Dimensions));     //just display crappy image.
                                                              FrameIndex, frameDimension, f0t0page.ScaleToFit(e.Dimensions, e.Image.Image))); //scale image properly.
                }
            }
            this.EnableAllContextItems();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Display a pciture on a given picturebox with the given specifications
        /// </summary>
        public void DisplayPics(object sender, f0t0page.DisplayPictureEventArgs e)
        {
            Image       pix        = e.Image.Image;
            IPictureBox pictureBox = sender as IPictureBox;

            pictureBox.Image = null;
            try
            {
                //Rectangle rectangle = ScaleToFit( e.Dimensions, pix);
                pictureBox.Show(e);
                this.UpdateText(e.Image.Name);
                if (showTinyImage)
                {
                    f0t0tab parent = ((f0t0tab)this.Parent);
                    parent.RemoveImage(this.ImageKey);
                    parent.AddImage(e.Image);
                    this.ImageKey = e.Image.Name;
                }
            }
            catch { return; }
        }