public ColInfoEx(int width, int height, ResizingKind scale, Anchor anchor) { Contracts.CheckUserArg(width > 0, nameof(Column.ImageWidth)); Contracts.CheckUserArg(height > 0, nameof(Column.ImageHeight)); Contracts.CheckUserArg(Enum.IsDefined(typeof(ResizingKind), scale), nameof(Column.Resizing)); Contracts.CheckUserArg(Enum.IsDefined(typeof(Anchor), anchor), nameof(Column.CropAnchor)); Width = width; Height = height; Scale = scale; Anchor = anchor; Type = new ImageType(Height, Width); }
/// <summary> /// Describes how the transformer handles one image resize column pair. /// </summary> /// <param name="input">Name of the input column.</param> /// <param name="output">Name of the column resulting from the transformation of <paramref name="input"/>.</param> /// <param name="width">Width of resized image.</param> /// <param name="height">Height of resized image.</param> /// <param name="resizing">What <see cref="ResizingKind"/> to use.</param> /// <param name="anchor">If <paramref name="resizing"/> set to <see cref="ResizingKind.IsoCrop"/> what anchor to use for cropping.</param> public ColumnInfo(string input, string output, int width, int height, ResizingKind resizing = Defaults.Resizing, Anchor anchor = Defaults.CropAnchor) { Contracts.CheckNonEmpty(input, nameof(input)); Contracts.CheckNonEmpty(output, nameof(output)); Contracts.CheckUserArg(width > 0, nameof(Column.ImageWidth)); Contracts.CheckUserArg(height > 0, nameof(Column.ImageHeight)); Contracts.CheckUserArg(Enum.IsDefined(typeof(ResizingKind), resizing), nameof(Column.Resizing)); Contracts.CheckUserArg(Enum.IsDefined(typeof(Anchor), anchor), nameof(Column.CropAnchor)); Input = input; Output = output; Width = width; Height = height; Resizing = resizing; Anchor = anchor; Type = new ImageType(Height, Width); }
///<summary> /// Resize image. ///</summary> /// <param name="env">The host environment.</param> /// <param name="input">Name of the input column.</param> /// <param name="output">Name of the column resulting from the transformation of <paramref name="input"/>.</param> /// <param name="imageWidth">Width of resized image.</param> /// <param name="imageHeight">Height of resized image.</param> /// <param name="resizing">What <see cref="ResizingKind"/> to use.</param> /// <param name="cropAnchor">If <paramref name="resizing"/> set to <see cref="ResizingKind.IsoCrop"/> what anchor to use for cropping.</param> public ImageResizerTransformer(IHostEnvironment env, string input, string output, int imageWidth, int imageHeight, ResizingKind resizing = ResizingKind.IsoCrop, Anchor cropAnchor = Anchor.Center) : this(env, new ColumnInfo(input, output, imageWidth, imageHeight, resizing, cropAnchor)) { }