Exemplo n.º 1
0
        public static void AddPad(PipelineContext ctx)
        {
            if (ctx.Settings.InnerSize == ctx.Settings.OuterSize)
            {
                return;
            }

            AddExternalFormatConverter(ctx);

            var fmt = ctx.Source.Format;

            if (fmt.AlphaRepresentation == PixelAlphaRepresentation.None && ctx.Settings.MatteColor.IsTransparent())
            {
                ctx.Source = ctx.AddDispose(new ConversionTransform(ctx.Source, null, null, PixelFormat.Bgra32Bpp));
            }
            else if (fmt.ColorRepresentation == PixelColorRepresentation.Grey && !ctx.Settings.MatteColor.IsGrey())
            {
                ctx.Source = ctx.AddDispose(new ConversionTransform(ctx.Source, null, null, PixelFormat.Bgr24Bpp));
            }

            ctx.Source = new PadTransformInternal(ctx.Source, ctx.Settings.MatteColor, PixelArea.FromGdiRect(ctx.Settings.InnerRect), PixelArea.FromGdiSize(ctx.Settings.OuterSize));
        }
Exemplo n.º 2
0
        public static void AddPad(PipelineContext ctx)
        {
            if (ctx.Settings.InnerSize == ctx.Settings.OuterSize)
            {
                return;
            }

            AddExternalFormatConverter(ctx);

            ctx.Source = new PadTransformInternal(ctx.Source, ctx.Settings.MatteColor, PixelArea.FromGdiRect(ctx.Settings.InnerRect), PixelArea.FromGdiSize(ctx.Settings.OuterSize));
        }