Ejemplo n.º 1
0
        public override void ConvertImage(MagickImage image, double scale, PixelInterpolateMethod pixelInterpolate, DitherMode dither, BitMode bitMode)
        {
            Reset();

            Mode = bitMode;

            int[] size = Utils.LCDSizeToNum((LCDSize)Converter.Instance.LCDSizeSelection.SelectedItem);

            image.InterpolativeResize(size[1] * Y, size[0] * X, pixelInterpolate);

            image.Depth = bitMode == BitMode.Bit3 ? 3 : 5;
            image.Settings.Compression = CompressionMethod.NoCompression;

            if (dither == DitherMode.Riemersma || dither == DitherMode.FloydSteinberg || dither == DitherMode.None)
            {
                image.Quantize(new QuantizeSettings()
                {
                    Colors = bitMode == BitMode.Bit3 ? 8 : 32, DitherMethod = (DitherMethod)dither, ColorSpace = ColorSpace.sRGB, TreeDepth = 100
                });
            }
            else
            {
                image.Quantize(new QuantizeSettings()
                {
                    Colors = bitMode == BitMode.Bit3 ? 8 : 32, DitherMethod = DitherMethod.No, ColorSpace = ColorSpace.sRGB, TreeDepth = 100
                });
                image.OrderedDither(dither.ToString());
            }
        }
Ejemplo n.º 2
0
        public virtual void ConvertImage(MagickImage image, double scale, PixelInterpolateMethod pixelInterpolate, DitherMode dither, BitMode bitMode)
        {
            image.InterpolativeResize(Math.Max(1, (int)(image.Width * scale)), Math.Max(1, (int)(image.Height * scale)), pixelInterpolate);

            if (dither == DitherMode.Riemersma || dither == DitherMode.FloydSteinberg || dither == DitherMode.None)
            {
                image.Quantize(new QuantizeSettings()
                {
                    DitherMethod = (DitherMethod)dither,
                    Colors       = 256,
                    ColorSpace   = ColorSpace.sRGB,
                    TreeDepth    = 100
                });
            }
            else
            {
                image.OrderedDither(dither.ToString());
            }
        }