Ejemplo n.º 1
0
 /// <summary>
 /// Resizes image and maintains original sharpness using memory-friendly Pipeline API (like Bicubic Sharper mode in Photoshop)
 /// </summary>
 private static void ResizeSharpMemoryFriendly()
 {
     using (var reader = ImageReader.Create("../../../../_Input/Chicago.jpg"))
         using (var resize = new Resize(320, 0, ResizeInterpolationMode.High))
             using (var unsharpMask = new UnsharpMask(0.35f, 1, 0))
                 using (var writer = ImageWriter.Create("../../../../_Output/ResizeSharpMemoryFriendly.jpg"))
                 {
                     Pipeline.Run(reader + resize + unsharpMask + writer);
                 }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TextProcessingSettings"/> class.
        /// </summary>
        /// <param name="size">The initial output size.</param>
        /// <param name="font">The initial font.</param>
        public TextProcessingSettings(Size size, Font font)
        {
            this.calculateCharacterSize = true;

            this.isBlackTextOnWhite = !Variables.Instance.InvertImage;

            this.isFixedWidth = true;

            this.IsGeneratedRamp = Variables.Instance.UseGeneratedRamp;

            this.ramp = "MMMMMMM@@@@@@@WWWWWWWWWBBBBBBBB000000008888888ZZZZZZZZZaZaaaaaa2222222SSSSSSSXXXXXXXXXXX7777777rrrrrrr;;;;;;;;iiiiiiiii:::::::,:,,,,,,.........       ";

            this.sharpen       = Variables.Instance.Sharpen;
            this.sharpenFilter = new Sharpen();

            this.stretch       = Variables.Instance.Stretch;
            this.stretchFilter = new Stretch();

            this.unsharp       = Variables.Instance.UnsharpMask;
            this.unsharpFilter = new UnsharpMask(3);

            this.filterChanged = true;

            if (Variables.Instance.CurrentSelectedValidCharacters > -1)
            {
                this.validCharacters = (string)Variables.Instance.DefaultValidCharacters[Variables.Instance.CurrentSelectedValidCharacters];
            }
            else
            {
                this.validCharacters = Variables.Instance.CurrentCharacters;
            }

            this.Size = size;

            this.Font = font;

            // TODO: Move these to ResetVariables and set widgets from events
            this.brightness = Variables.Instance.DefaultTextBrightness;
            this.contrast   = Variables.Instance.DefaultTextContrast;

            this.dithering       = Variables.Instance.DefaultDitheringLevel;
            this.ditheringRandom = Variables.Instance.DefaultDitheringRandom;

            this.flipHorizontally = Variables.Instance.FlipHorizontally;
            this.flipVertically   = Variables.Instance.FlipVertically;

            this.levels = new LevelsSettings(Variables.Instance.DefaultMinimumLevel, Variables.Instance.DefaultMedianLevel, Variables.Instance.DefaultMaximumLevel);
        }