private void Initialize(NativeMagickGeometry instance) { X = (int)instance.X; Y = (int)instance.Y; Width = (int)instance.Width; Height = (int)instance.Height; }
private NativeMagickGeometry CreateNativeInstance() { NativeMagickGeometry instance = new NativeMagickGeometry(); instance.Initialize(ToString()); return instance; }
internal static MagickGeometry CreateInstance(IntPtr instance) { if (instance == IntPtr.Zero) return null; using (NativeMagickGeometry nativeInstance = new NativeMagickGeometry(instance)) { return new MagickGeometry(nativeInstance); } }
/// <summary> /// Initializes a new instance of the <see cref="MagickGeometry"/> class using the specified geometry. /// </summary> /// <param name="value">Geometry specifications in the form: <width>x<height> /// {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers)</param> public MagickGeometry(string value) { Throw.IfNullOrEmpty(nameof(value), value); using (NativeMagickGeometry instance = new NativeMagickGeometry()) { GeometryFlags flags = instance.Initialize(value); Initialize(instance, flags); } }
private void InitializeFromAspectRation(NativeMagickGeometry instance, string value) { AspectRatio = true; var ratio = value.Split(':'); Width = ParseInt(ratio[0]); Height = ParseInt(ratio[1]); X = (int)instance.X; Y = (int)instance.Y; }
private void Initialize(NativeMagickGeometry instance, GeometryFlags flags) { Throw.IfTrue(nameof(flags), flags == GeometryFlags.NoValue, "Invalid geometry specified."); Initialize(instance); IsPercentage = EnumHelper.HasFlag(flags, GeometryFlags.PercentValue); IgnoreAspectRatio = EnumHelper.HasFlag(flags, GeometryFlags.IgnoreAspectRatio); FillArea = EnumHelper.HasFlag(flags, GeometryFlags.FillArea); Greater = EnumHelper.HasFlag(flags, GeometryFlags.Greater); Less = EnumHelper.HasFlag(flags, GeometryFlags.Less); LimitPixels = EnumHelper.HasFlag(flags, GeometryFlags.LimitPixels); }
/// <summary> /// Initializes a new instance of the <see cref="MagickGeometry"/> class using the specified geometry. /// </summary> /// <param name="value">Geometry specifications in the form: <width>x<height> /// {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers)</param> public MagickGeometry(string value) { Throw.IfNullOrEmpty(nameof(value), value); using (var instance = new NativeMagickGeometry()) { var flags = instance.Initialize(value); if (!EnumHelper.HasFlag(flags, GeometryFlags.AspectRatio)) { Initialize(instance, flags); } else { InitializeFromAspectRation(instance, value); } } }
/// <summary> /// Initializes a new instance of the <see cref="MagickGeometry"/> class using the specified geometry. /// </summary> /// <param name="value">Geometry specifications in the form: <width>x<height> /// {+-}<xoffset>{+-}<yoffset> (where width, height, xoffset, and yoffset are numbers)</param> public MagickGeometry(string value) { Throw.IfNullOrEmpty(nameof(value), value); using (var instance = new NativeMagickGeometry()) { var flags = instance.Initialize(value); if (!EnumHelper.HasFlag(flags, GeometryFlags.AspectRatio)) { Initialize(instance, flags); return; } AspectRatio = true; var ratio = value.Split(':'); Width = int.Parse(ratio[0]); Height = int.Parse(ratio[1]); } }
private MagickGeometry(NativeMagickGeometry instance) { Initialize(instance); }