Пример #1
0
        protected virtual bool DoEffect(ref RasterImage effectedImage)
        {
            try
            {
                ChangeIntensityCommand command = new ChangeIntensityCommand(_internalBrightnessValue);

                command.Progress += new EventHandler <RasterCommandProgressEventArgs>(command_Progress);

                if (RasterImageChangedFlags.None == command.Run(effectedImage))
                {
                    return(false);
                }

                //Reset progress bar
                _pbProgress.Value = 0;

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        /// <summary>
        /// Batch 1 Functions
        /// </summary>
        private void DoBatch1()
        {
            // save the current caption
            string tmpCaption = Text;

            // change cursor
            Cursor = Cursors.SizeNS;
            // disable the form
            Enabled = false;
            // Do Color Resolution
            Text = "Optimizing Image To 8 Bits Per Pixel With Burkes Dithering...";
            ColorResolutionCommand colorResCommand = new ColorResolutionCommand();

            colorResCommand.BitsPerPixel    = 8;
            colorResCommand.DitheringMethod = RasterDitheringMethod.Burkes;
            colorResCommand.PaletteFlags    = ColorResolutionCommandPaletteFlags.Optimized;
            colorResCommand.Mode            = ColorResolutionCommandMode.InPlace;
            colorResCommand.Order           = RasterByteOrder.Bgr;
            colorResCommand.SetPalette(null);
            colorResCommand.Run(_viewer.Image);
            Text = "Image Is Optimized";
            _viewer.Refresh();
            Thread.Sleep(2000);

            // change cursor
            Cursor = Cursors.SizeWE;
            // Do Flip
            Text = "Flipping Image...";
            FlipCommand flipCommand = new FlipCommand();

            flipCommand.Horizontal = false;
            flipCommand.Run(_viewer.Image);
            Text = "Image Is Flipped";
            _viewer.Refresh();
            Thread.Sleep(2000);

            // change cursor
            Cursor = Cursors.SizeNS;
            // Do Lightening
            Text = "Lightening Image...";
            ChangeIntensityCommand changeIntensityCommand = new ChangeIntensityCommand();

            changeIntensityCommand.Brightness = 200;
            changeIntensityCommand.Run(_viewer.Image);
            Text = "Image Is Lightened";
            _viewer.Refresh();
            Thread.Sleep(2000);

            // change cursor
            Cursor = Cursors.SizeWE;
            // Do Resize
            Text = "Resizing Image...";
            ResizeCommand resizeCommand = new ResizeCommand();

            resizeCommand.Flags            = RasterSizeFlags.None;
            resizeCommand.DestinationImage = new RasterImage(RasterMemoryFlags.Conventional,
                                                             (_viewer.Image.Width + 1) / 2,
                                                             (_viewer.Image.Height + 1) / 2,
                                                             _viewer.Image.BitsPerPixel,
                                                             _viewer.Image.Order,
                                                             _viewer.Image.ViewPerspective,
                                                             _viewer.Image.GetPalette(),
                                                             IntPtr.Zero,
                                                             0);
            resizeCommand.Run(_viewer.Image);
            _viewer.Image = resizeCommand.DestinationImage;
            Text          = "Image Is Resized";
            _viewer.Refresh();
            Thread.Sleep(2000);

            Cursor = Cursors.SizeNS;
            // Do Rotate
            Text = "Rotating Image...";
            RotateCommand rotateCommand = new RotateCommand();

            rotateCommand.Angle     = -4500;
            rotateCommand.FillColor = new RasterColor(255, 0, 0);
            rotateCommand.Flags     = RotateCommandFlags.None;

            rotateCommand.Run(_viewer.Image);
            Text = "Image Is Rotated, Batch Is Complete";
            _viewer.Refresh();
            Thread.Sleep(2000);

            // change the cursor to arrow
            Cursor = Cursors.Arrow;

            // return the old caption
            Text = tmpCaption;

            // enable the form
            Enabled = true;
        }