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)); }
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)); }