<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ImageResizer</name>
    </assembly>
    <members>
        <member name="M:ImageResizer.AsyncInterceptModule.HandleRequest(System.Web.HttpContext,ImageResizer.Configuration.HttpModuleRequestAssistant,ImageResizer.Plugins.IVirtualFileAsync)">
            <summary>
            Generates the resized image to disk (if needed), then rewrites the request to that location.
            Perform 404 checking before calling this method. Assumes file exists.
            Called during PostAuthorizeRequest
            </summary>
            <param name="context"></param>
            <param name="ra"></param>
            <param name="vf"></param>
        </member>
        <member name="T:ImageResizer.BoxEdges">
            <summary>
            Represents the widths of edges of a box.
            </summary>
        </member>
        <member name="M:ImageResizer.BoxEdges.#ctor(System.Double)">
            <summary>
            Create a box with all edges the same width.
            </summary>
            <param name="all"></param>
        </member>
        <member name="M:ImageResizer.BoxEdges.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Create a box, specifying individual widths for each size
            </summary>
            <param name="left"></param>
            <param name="top"></param>
            <param name="right"></param>
            <param name="bottom"></param>
        </member>
        <member name="M:ImageResizer.BoxEdges.#ctor(ImageResizer.BoxEdges)">
            <summary>
            Copies the specified BoxEdges instance
            </summary>
            <param name="original"></param>
        </member>
        <member name="M:ImageResizer.BoxEdges.SetAll(System.Double)">
            <summary>
            Sets the width of all edges, returning a new instance
            </summary>
            <param name="all"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.BoxEdges.All">
            <summary>
            Returns double.NaN unless all edges are the same width, in which case that width is returned
            </summary>
        </member>
        <member name="P:ImageResizer.BoxEdges.Empty">
            <summary>
            Returns an instance with a width of 0
            </summary>
        </member>
        <member name="P:ImageResizer.BoxEdges.IsEmpty">
            <summary>
            Returns true if th
            </summary>
        </member>
        <member name="M:ImageResizer.BoxEdges.GetEdgeOffsets">
            <summary>
            Gets edge offsets as a clockwise array, starting with Top.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.QuerystringBase`1.Get``1(System.String)">
            <summary>
            Provides culture-invariant parsing of byte, int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.QuerystringBase`1.Get``1(System.String,System.Nullable{``0})">
            <summary>
            Provides culture-invariant parsing of byte, int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.QuerystringBase`1.Get``1(System.String,``0)">
            <summary>
            Provides culture-invariant parsing of byte, int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.QuerystringBase`1.SetAsString``1(System.String,``0)">
            <summary>
            Serializes the given value by calling .ToString(). If the value is null, the key is removed.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.QuerystringBase`1.Set``1(System.String,System.Nullable{``0})">
            <summary>
            Provides culture-invariant serialization of value types, in lower case for querystring readability. Setting a key to null removes it.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Collections.SafeList`1">
            <summary>
            SafeList is mutable, but it uses immutable data structures to minimize the need for locking.
            The provided manipulation 
            Exposes a immutable list. Changes are made by copying the lists.
            SafeList is 
            Never perform logic on SafeList directly, always use GetList() or GetCollection() first, followed by SetList().
            If you need involved list-fu, use ModifyList and specify a callback. It will execute inside a lock, preventing changes on other threads from overwriting each other.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.GetCollection">
            <summary>
            Returns an immutable snapshot of the collection
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.GetList">
            <summary>
            Returns a mutable snapshot of the list
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.SetList(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Replaces the current collection with a new one. (copied to ensure safety)
            Use ModifyList when modifying the list. Use this only when the previous or current state of the list is irrelevant.
            </summary>
            <param name="list"></param>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.Add(`0)">
            <summary>
            Adds the specified item to the end of the list
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.Remove(`0)">
            <summary>
            Removes the item from the list
            </summary>
            <param name="item"></param>
        </member>
        <member name="P:ImageResizer.Collections.SafeList`1.First">
            <summary>
            Returns the first item in the list. May return null if the list is empty.
            </summary>
        </member>
        <member name="P:ImageResizer.Collections.SafeList`1.Last">
            <summary>
            Returns the first item in the list. May return null if the list is empty.
            </summary>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.AddFirst(`0)">
            <summary>
            Adds the specified item to the beginning of the list
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.ModifyList(ImageResizer.Collections.SafeList{`0}.ListEditor)">
            <summary>
            Allows a caller to perform logic on the list inside a lock, and return a modified list.
            Callbacks should be fast, and should reference the IList they are fed, not this SafeList instance.
            Calling methods on the SafeList instance will cause a deadlock.
            </summary>
            <param name="callback"></param>
        </member>
        <member name="M:ImageResizer.Collections.SafeList`1.Contains(`0)">
            <summary>
            Returns true if the collection contains the specified item at the moment. 
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.ExtensionMethods.EnumExtensions">
            <summary>
            Extends enumerations by allowing them to define alternate strings with the [EnumString("Alternate Name",true)]  attribute, and support it through TryParse and ToPreferredString
            </summary>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.EnumExtensions.Parse``1(``0,System.String,``0)">
            <summary>
            Attempts case-insensitive parsing of the specified enum. Returns the specified default value if parsing fails.
            Supports [EnumString("Alternate Value")] attributes and parses flags. If any segment of a comma-delimited list isn't parsed as either a number or string, defaultValue will be returned.
            </summary>
            <param name="en"></param>
            <param name="value"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.EnumExtensions.Parse``1(``0,System.String)">
            <summary>
            Attempts case-insensitive parsing of the specified enum. Returns null if parsing failed.
            Supports [EnumString("Alternate Value")] attributes and parses flags. If any segment of a comma-delimited list isn't parsed as either a number or string, null will be returned.
            </summary>
            <param name="en"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.EnumExtensions.ToPreferredString(System.Enum,System.Boolean)">
            <summary>
            Retuns the string representation for the given enumeration
            </summary>
            <param name="en"></param>
            <param name="lowerCase"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Get``1(System.Collections.Specialized.NameValueCollection,System.String)">
            <summary>
            Provides culture-invariant parsing of int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="t"></param>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Get``1(System.Collections.Specialized.NameValueCollection,System.String,System.Nullable{``0})">
            <summary>
            Provides culture-invariant parsing of int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="q"></param>
            <param name="name"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Get``1(System.Collections.Specialized.NameValueCollection,System.String,``0)">
            <summary>
            Provides culture-invariant parsing of int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="q"></param>
            <param name="name"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.ParsePrimitive``1(System.String,System.Nullable{``0})">
            <summary>
            Provides culture-invariant parsing of int, double, float, bool, and enum values.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.SetAsString``1(System.Collections.Specialized.NameValueCollection,System.String,``0)">
            <summary>
            Serializes the given value by calling .ToString(). If the value is null, the key is removed.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="q"></param>
            <param name="name"></param>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Set``1(System.Collections.Specialized.NameValueCollection,System.String,System.Nullable{``0})">
            <summary>
            Provides culture-invariant serialization of value types, in lower case for querystring readability. Setting a key to null removes it.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="q"></param>
            <param name="name"></param>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.ParseList``1(System.String,System.Nullable{``0},System.Int32[])">
            <summary>
            Parses a comma-delimited list of primitive values. If there are unparsable items in the list, they will be replaced with 'fallbackValue'. If fallbackValue is null, the function will return null
            </summary>
            <typeparam name="T"></typeparam>
            <param name="text"></param>
            <param name="fallbackValue"></param>
            <param name="allowedSizes"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.IsOneSpecified(System.Collections.Specialized.NameValueCollection,System.String[])">
            <summary>
            Returns true if any of the specified keys contain a value
            </summary>
            <param name="q"></param>
            <param name="keys"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Normalize(System.Collections.Specialized.NameValueCollection,System.String,System.String)">
            <summary>
            Normalizes a command that has two possible names. 
            If either of the commands has a null or empty value, those keys are removed. 
            If both the primary and secondary are present, the secondary is removed. 
            Otherwise, the secondary is renamed to the primary name.
            </summary>
            <param name="q"></param>
            <param name="primary"></param>
            <param name="secondary"></param>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.Keep(System.Collections.Specialized.NameValueCollection,System.String[])">
            <summary>
            Creates and returns a new NameValueCollection instance that contains only the specified keys from the current collection.
            </summary>
            <param name="q"></param>
            <param name="keysToKeep"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.NameValueCollectionExtensions.MergeDefaults(System.Collections.Specialized.NameValueCollection,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Creates and returns a new NameValueCollection instance that contains all of the
            keys/values from 'q', and any keys/values from 'defaults' that 'q' does not already
            contain.
            </summary>
            <param name="q">The settings specific to a particular query</param>
            <param name="defaults">Default settings to use when not overridden by 'q'.</param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.ExtensionMethods.StreamExtensions">
            <summary>
            Provides extension methods for copying streams
            </summary>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToMemoryStream(System.IO.Stream)">
            <summary>
            Copies the remaining data in the current stream to a new MemoryStream instance.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToMemoryStream(System.IO.Stream,System.Boolean)">
            <summary>
            Copies the current stream into a new MemoryStream instance.
            </summary>
            <param name="s"></param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToMemoryStream(System.IO.Stream,System.Boolean,System.Int32)">
            <summary>
            Copies the current stream into a new MemoryStream instance.
            </summary>
            <param name="s"></param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data</param>
            <param name="chunkSize">The buffer size to use (in bytes) if a buffer is required. Default: 4KiB</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToBytes(System.IO.Stream)">
            <summary>
            Copies the remaining data in the current stream to a byte[] array of exact size.
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToBytes(System.IO.Stream,System.Boolean)">
            <summary>
            Copies the current stream into a byte[] array of exact size.
            </summary>
            <param name="s"></param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToStream(System.IO.Stream,System.IO.Stream)">
            <summary>
            Copies the remaining data from the this stream into the given stream.
            </summary>
            <param name="s"></param>
            <param name="other">The stream to write to</param>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToStream(System.IO.Stream,System.IO.Stream,System.Boolean)">
            <summary>
            Copies this stream into the given stream
            </summary>
            <param name="s"></param>
            <param name="other">The stream to write to</param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data</param>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToStream(System.IO.Stream,System.IO.Stream,System.Boolean,System.Int32)">
            <summary>
            Copies this stream into the given stream
            </summary>
            <param name="src"></param>
            <param name="dest">The stream to write to</param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data</param>
            <param name="chunkSize">True to copy entire stream if seeakable, false to only copy remaining data</param>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyMemoryStreamToBytes(System.IO.MemoryStream,System.Boolean)">
            <summary>
            Can return null if MemoryStream doesn't permit access to internal buffer. 
            </summary>
            <param name="src"></param>
            <param name="entireStream"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToBytes(System.IO.Stream,System.Boolean,System.Int32)">
            <summary>
            Copies the current stream into a byte[] array of exact size
            </summary>
            <param name="src"></param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data.</param>
            <param name="chunkSize">The buffer size to use (in bytes) if a buffer is required. Default: 4KiB</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyToBytesAsync(System.IO.Stream,System.Boolean,System.Int32)">
            <summary>
            Copies the current stream into a byte[] array of exact size
            </summary>
            <param name="src"></param>
            <param name="entireStream">True to copy entire stream if seeakable, false to only copy remaining data.</param>
            <param name="chunkSize">The buffer size to use (in bytes) if a buffer is required. Default: 4KiB</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ExtensionMethods.StreamExtensions.CopyOrReturnBuffer(System.IO.Stream,System.Int64@,System.Boolean,System.Int32)">
            <summary>
            Attempts to return a byte[] array containing the remaining portion of the stream.
            Unlike CopyToBytes(), does not return a byte[] array of exact length, and may re-use the actual Stream's byte array, making it unsafe to write to in the future.
            </summary>
            <param name="src"></param>
            <param name="length"></param>
            <param name="chunkSize"></param>
            <param name="entireStream"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Issues.IssueGatherer.#ctor(ImageResizer.Configuration.Config)">
            <summary>
            Creates a 'gatherer' that pulls issues from IIssueProviders throughout the Config structure. Even plugins are queried.
            </summary>
            <param name="c"></param>
        </member>
        <member name="F:ImageResizer.Configuration.Issues.IssueSeverity.Critical">
            <summary>
            Security and stability issues.
            </summary>
        </member>
        <member name="F:ImageResizer.Configuration.Issues.IssueSeverity.Error">
            <summary>
            Behavioral issues, such as having no registered image encoders
            </summary>
        </member>
        <member name="F:ImageResizer.Configuration.Issues.IssueSeverity.ConfigurationError">
            <summary>
            Errors in the module configuration
            </summary>
        </member>
        <member name="F:ImageResizer.Configuration.Issues.IssueSeverity.Warning">
            <summary>
            Non-optimal settings
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Issues.IssueSink.GetIssues">
            <summary>
            Returns a copy of the list of reported issues.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Issues.IssueSink.AcceptIssue(ImageResizer.Configuration.Issues.IIssue)">
            <summary>
            Adds the specified issue to the list unless it is an exact duplicate of another instance.
            </summary>
            <param name="i"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Log(System.String,System.String)">
            <summary>
            Writes the diagnostic message at the specified level.
            </summary>
            <param name="level">The log level.</param>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Trace(System.String)">
            <summary>
            Writes the diagnostic message at the Trace level.
            </summary>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Debug(System.String)">
            <summary>
            Writes the diagnostic message at the Debug level.
            </summary>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Info(System.String)">
            <summary>
            Writes the diagnostic message at the Info level.
            </summary>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Warn(System.String)">
            <summary>
            Writes the diagnostic message at the Warn level.
            </summary>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Error(System.String)">
            <summary>
            Writes the diagnostic message at the Error level.
            </summary>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.Fatal(System.String)">
            <summary>
            Writes the diagnostic message at the Fatal level.
            </summary>
            <param name="message">A <see langword="string" /> to be written.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogger.IsEnabled(System.String)">
            <summary>
            Checks if the specified log level is enabled.
            </summary>
            <param name="level">The log level.</param>
            <returns>A value indicating whether the specified log level is enabled.</returns>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.IsTraceEnabled">
            <summary>
            Gets a value indicating whether the Trace level is enabled.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.IsDebugEnabled">
            <summary>
            Gets a value indicating whether the Debug level is enabled.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.IsInfoEnabled">
            <summary>
            Gets a value indicating whether the Info level is enabled.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.IsWarnEnabled">
            <summary>
            Gets a value indicating whether the Warn level is enabled.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.IsErrorEnabled">
            <summary>
            Gets a value indicating whether the Error level is enabled.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.IsFatalEnabled">
            <summary>
            Gets a value indicating whether the Fatal level is enabled.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Logging.ILogger.LoggerName">
            <summary>
            Gets or sets the logger name.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogManager.LoadConfigFromFile(System.String)">
            <summary>
            Loads NLog configuration from the specified file.
            </summary>
            <param name="fileName">The name of the file to load NLog configuration from.</param>
        </member>
        <member name="M:ImageResizer.Configuration.Logging.ILogManager.GetLogger(System.String)">
            <summary>
            Creates the specified logger object and assigns a LoggerName to it.
            </summary>
            <param name="loggerName">Logger name.</param>
            <returns>The new logger instance.</returns>
        </member>
        <member name="T:ImageResizer.Configuration.Plugins.NativeDependencyManager">
            <summary>
            Provides automatic download of native dependencies (which VS doesn't see). Gets the correct bitness as well - very nice if you're changing app pool bitness and forgot to change binaries.
            </summary>
        </member>
        <member name="T:ImageResizer.Configuration.Plugins.NativeDependencyManager.Countdown">
            <summary>
            Thread safe countdown class
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Config.Current">
            <summary>
            Gets the current (app-wide) config instance. 
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.Config.Plugins">
            <summary>
            Access and modify plugins
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Config.Pipeline">
            <summary>
            Access and modify settings related to the HttpModule pipline. Register URL rewriting hooks, etc.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Config.UpgradeImageBuilder(ImageResizer.ImageBuilder)">
            <summary>
            Allows subclasses to be used instead of ImageBuilder. Replacements must override the Create method and call their own constructor instead.
            </summary>
            <param name="replacement"></param>
        </member>
        <member name="P:ImageResizer.Configuration.Config.CurrentImageBuilder">
            <summary>
            Returns a shared instance of ImageManager, (or a subclass if it has been upgraded).
            Instances change whenever ImageBuilderExtensions change.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Config.BuildImage(System.Object,System.Object,System.String)">
            <summary>
            Shortuct to CurrentImageBuilder.Build (Useful for COM clients). Also creates a destination folder if needed, unlike the normal .Build() call.
            
            </summary>
            <param name="source"></param>
            <param name="dest"></param>
            <param name="settings"></param>
        </member>
        <member name="P:ImageResizer.Configuration.Config.cs">
            <summary>
            The ResizeConfigrationSection is not thread safe, and should not be modified
            Dynamically loads the ResizerSection from web.config when accessed for the first time. 
            If the resizer node doesn't exist, an empty configuration object is created with just the root resizer node.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Config.AllIssues">
            <summary>
            Returns a list of all issues reported by the resizing core, as well as by all the plugins
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Config.getNode(System.String)">
            <summary>
            Returns a deep copy of the specified node
            </summary>
            <param name="selector"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Config.getConfigXml">
            <summary>
            Returns a deep copy if the current state of the configuration tree (starting with the 'resizer' element as the root)
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Config.setConfigXml(ImageResizer.Configuration.Xml.Node)">
            <summary>
            Replaces the configuration tree with the specified alternative
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Config.setConfigXmlText(System.String)">
            <summary>
            Replaces the configuration tree with the specified alternative
            </summary>
            <param name="xml"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Config.WriteDiagnosticsTo(System.String)">
            <summary>
            Writes a diagnostic page to the specified physical path
            </summary>
            <param name="path"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Config.GetDiagnosticsPage">
            <summary>
            Returns a string of the diagnostics page
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.IUrlEventArgs.VirtualPath">
            <summary>
            Domain-relative path which also includes the path info portion. I.e, '/app/folder/file.aspx/path/info' could be a valid value. Relative to the domain root, not the site or app root.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig._cacheUrlData">
            <summary>
            Populates the cache if it is empty. Not thread safe.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.AcceptedImageExtensions">
            <summary>
            Returns a unqiue copy of the image extensions supported by the pipeline. Performs a cached query to all registered IQuerystringPlugin instances.
            Use IsAcceptedImageType for better performance.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.SupportedQuerystringKeys">
            <summary>
            Returns a unqiue copy of all querystring keys supported by the pipeline. Performs a cached query to all registered IQuerystringPlugin instances.
            Use HasPipelineDirective for better performance. (binary search)
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.IsAcceptedImageType(System.String)">
            <summary>
            The specified path must not include a querystring. Slashes, spaces, question marks, ampersands, and colons are not permitted in the extension.
            If it contains a multipart extension like .txt.zip, only "zip" will be recognized. Must contain a dot - passing in "jpg" will fail.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.HasPipelineDirective(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if any of the querystring keys match any of the directives supported by the pipeline (such as width, height, format, bgcolor, etc)
            </summary>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.FakeExtensions">
            <summary>
            Cached access to pipeline.fakeExtensions
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.TrimFakeExtensions(System.String)">
            <summary>
            Removes the first fake extensionm detected at the end of 'path'
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.PreRewritePath">
            <summary>
            Returns the value of Context.Items["resizer.newPath"] if present. If not, returns FilePath + PathInfo.
            Sets Context.Items["resizer.newPath"]. 
            Only useful during the Pipeline.PostAuthorizeRequestStart event.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.ModifiedQueryString">
            <summary>
            Returns the modified query string. If never set, returns a copy of Request.QueryString.
            Returns the same instance if called multiple times. Copy it if you want to make changes without causing issues.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.SkipFileTypeCheck">
            <summary>
            Get or sets whether the file extension check should be applied to the current request. Defaults to true.
            If set to true, will only affect the current request, and will only cause the Resizer to evaluate the rewriting rules on the request.
            Processing may still not occur if no querystring values are specified. Add 'cache=always' to force caching to occur.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.IsHandlingRequest">
            <summary>
            Returns true if the current request is being processed and/or cached by the pipeline.
            Will return false until *after* the FileExists method is called on the VirtualPathProviders, which is after the 
            AuthorizeImage event fires. 
            This will return a usable value if used from VirtualFile.Open(), or if used inside the PreHandleImage event or later.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.GetFileAsync(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns an IVirtualFileAsync instance if the specified file can be provided by an async provider 
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.GetFile(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns either an IVirtualFile instance or a VirtualFile instance.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.FileExists(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if (a) A registered IVirtualImageProvider says it exists, or (b) if the VirtualPathProvider chain says it exists.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.OnFirstRequest">
            <summary>
            Fired once, on the first PostAuthorizeRequest event.
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.PostAuthorizeRequestStart">
            <summary>
            Fires during the PostAuthorizeRequest phase, prior to any module-specific logic.
            Executes for every request to the website. Use only as a last resort. Other events occur only for image requests, and thus have lower overhead.
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.Rewrite">
            <summary>
            Fired during PostAuthorizeRequest, after ResizeExtension has been removed.
            On fired on requests with extensions that match supported image types.
            <para> 
            You can add additonal supported image extentions by registering a plugin that implementes IQuerystringPlugin, or you can add an 
            extra extension in the URL and remove it here. Example: .psd.jpg</para>
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.RewriteDefaults">
            <summary>
            Fired during PostAuthorizeRequest, after Rewrite.
            Any changes made here (which conflict) will be overwritten by the current querystring values. I.e, this is a good place to specify default settings.
            <para>Only fired on accepted image types. (see Rewrite)</para>
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.PostRewrite">
            <summary>
            Fired after all other rewrite events.
            <para>Only fired on accepted image types. (see Rewrite)</para>
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.AuthorizeImage">
            <summary>
            Fired after all rewriting is finished.
            e.AllowAccess defaults to the result of the UrlAuthorization module's verdict. It can be changed. 
            Set e.AllowAccess to true to cause and 403 Access Dened result.
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.ImageMissing">
            <summary>
            Fired when the specified image doesn't exist. Only called for images that would normally be processed.
            May be called during PostAuthorizeRequest or later - End the request completely with a redirect if you want alternate behavior.
            </summary>
        </member>
        <member name="E:ImageResizer.Configuration.PipelineConfig.PreHandleImage">
            <summary>
            Fired immediately before the image request is sent off to the caching system for proccessing.
            Allows modification of response headers, caching arguments, and callbacks.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.ProcessedCount">
            <summary>
            The number of images processed by this pipeline.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.GetCachingSystem(System.Web.HttpContext,ImageResizer.Caching.IResponseArgs)">
            <summary>
            Cache selection occurs as follows: (1) The first registered CachingSystem that returns  true from .CanProcess() is the default
            (2) The SelectCachingSystem event is fired, allowing handlers to modify the selected cache. 
            This method may return null. 
            </summary>
            <param name="context"></param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.ModuleInstalled">
            <summary>
            True once the InterceptModule or InterceptModuleAsync has been installed and is intercepting requests.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.UsingAsyncMode">
            <summary>
            True if the InterceptModuleAsync has been installed. Null if we can't find out. 
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PipelineConfig.IsAppDomainUnrestricted">
            <summary>
            Returns true if the AppDomain has Unrestricted code access security
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.AuthorizeAllImages">
            <summary>
            If true, AuthorizeImage will be called for all image requests, not just those with command directives.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PipelineConfig.DropQuerystringKeys">
            <summary>
            If specified, DropQuerystringKeys will cause certain query string parameters to be excluded from processing.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.IsAcceptedImageType(System.String)">
            <summary>
            True if the specified extension is one that the pipeline can handle
            </summary>
            <param name="filePath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.HasPipelineDirective(System.Collections.Specialized.NameValueCollection)">
            <summary>
            True if the querystring contains any directives that are understood by the pipeline
            </summary>
            <param name="q"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.ModifiedQueryStringKey">
            <summary>
            The key in Context.Items to store the modified querystring (i.e, post-rewrite). 
            Allows VirtualPathProviders to access the rewritten data.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.ResponseArgsKey">
            <summary>
            The key in Context.Items to store the IResponseArgs object
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.StopRoutingKey">
            <summary>
            The key in Context.Items to set if we want to cancel MVC routing for the request
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.ModifiedPathKey">
            <summary>
             The key in Context.Items to access a the path to use instead of Request.path
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.VppUsage">
            <summary>
            The behavior to use when accessing the file system.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.SkipFileTypeCheck">
            <summary>
            Get or sets whether the file extension check should be applied to the current request. Defaults to true.
            If set to true, will only affect the current request, and will only cause the Resizer to evaluate the rewriting rules on the request.
            Processing may still not occur if no querystring values are specified. Add 'cache=always' to force caching to occur.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.ModuleInstalled">
            <summary>
            True once the InterceptModule has been installed. 
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.UsingAsyncMode">
            <summary>
            True if we know that InterceptModuleAsync is registered. Null if we don't know.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.PreRewritePath">
            <summary>
            Returns the value of Context.Items["resizer.newPath"] if present. If not, returns FilePath + PathInfo.
            Sets Context.Items["resizer.newPath"]. 
            Only useful during the Pipeline.PostAuthorizeRequestStart event.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.TrimFakeExtensions(System.String)">
            <summary>
            Removes the first fake extension detected at the end of 'path' (like image.jpg.ashx -> image.jpg).
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.GetImageBuilder">
            <summary>
            Returns an ImageBuilder instance to use for image processing.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.GetCacheProvider">
            <summary>
            Returns a ICacheProvider instance that provides caching system selection and creation.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.GetFile(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns an IVirtualFile instance if the specified file exists.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.GetFileAsync(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns an IVirtualFileAsync instance if the specified file can be provided by an async provider 
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.FileExists(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if (a) A registered IVirtualImageProvider says it exists, or (b) if the VirtualPathProvider chain says it exists.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.IPipelineConfig.FileExistsAsync(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if any registered IVirtualImageProviderAsync says it exists.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.IPipelineConfig.AuthorizeAllImages">
            <summary>
            If true, AuthorizeImage will be called for all image requests, not just those with command directives.
            </summary>
        </member>
        <member name="T:ImageResizer.Configuration.PluginConfig">
            <summary>
            Provides thread-safe access to plugin addition, removal, and querying methods
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.#ctor(ImageResizer.Configuration.Config)">
            <summary>
            Creates a new plugin config section, attached to the specified parent
            </summary>
            <param name="c"></param>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.LoadPlugins">
            <summary>
            Processes the &lt;plugins&gt; section if they are not already loaded. Thread safe.
            Only executes once.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.ForceLoadPlugins">
            <summary>
            Forces loading of the plugins specified in configuration, even if they have already been loaded. Will add duplicate plugins and throw exceptions if you do not call RemoveAll() first.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.PluginsLoaded">
            <summary>
            Returns true if the &lt;plugins&gt; section has been processed
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.loadPluginsInternal">
            <summary>
            Not thread safe. Performs actual work.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetPlugins(System.Type)">
            <summary>
            Returns the subset of installed plugins which implement the specified type or interface
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetAll``1">
            <summary>
            Returns all registered instances of the specified plugins
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.HasPlugin(System.Type)">
            <summary>
            Returns true if at least one plugin of the specified type is registered.
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.Has``1">
            <summary>
            Returns true if 1 or more instances of the type are registered.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.Get``1">
            <summary>
            Returns the first registerd instance of the specified plugin. For IMultiInstancePlugins, use GetAll()
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetOrInstall``1">
            <summary>
            Returns the first registered instance of the specified plugin, or creates a new instance if the plugin isn't installed. 
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetOrInstall``1(``0)">
            <summary>
            Returns the first registered instance of the specified plugin, or installs the given instance instead, then re-tries the query
            </summary>
            <typeparam name="T"></typeparam>
            <param name="newInstance"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.Install(ImageResizer.Plugins.IPlugin)">
            <summary>
            Installs the specified plugin, returning the plugin instance. 
            Convenience method, same as plugin.Install(Config.Current).
            </summary>
            <param name="plugin"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.Uninstall(ImageResizer.Plugins.IPlugin)">
            <summary>
            Attempts uninstallation of the specified plugin, returning true if successful.
            Convenience method, same as plugin.Uninstall(Config.Current).
            </summary>
            <param name="plugin"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.ConfigProviders">
            <summary>
            Currently registered ICurrentConfigProviders. 
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.ImageBuilderExtensions">
            <summary>
            Currently registered set of ImageBuilderExtensions. 
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.ImageEncoders">
            <summary>
            Currently registered IEncoders. 
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.CachingSystems">
            <summary>
            Currently registered ICache instances
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.QuerystringPlugins">
            <summary>
            Plugins which accept querystring arguments are registered here.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.FileExtensionPlugins">
            <summary>
            Plugins which accept new file extensions (in the url) are registered here.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.VirtualProviderPlugins">
            <summary>
            Plugins which provide virtual files are registered here.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.SettingsModifierPlugins">
            <summary>
            Plugins which modify image processing settings.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.AllPlugins">
            <summary>
            All plugins should be registered here. Used for diagnostic purposes.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.PluginConfig.LogManager">
            <summary>
            Returns the most recently registered Logging plugin, or null.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetEncoder(ImageResizer.ResizeSettings,System.Object)">
            <summary>
            Returns an instance of the first encoder that claims to be able to handle the specified settings.
            Returns null if no encoders are available.
            </summary>
            <param name="settings">Request settings, like format, quality, colors, dither, etc.</param>
            <param name="original">May be a Drawing.Image instance, a path, or null. To provide both, set Image.tag to the path. Helps the encoder detect the original format if the format was not specified.
            May also be used for palette generation hinting by some encoders.</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.AddPluginByName(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns null on failure. Check GetIssues() for causes.
            </summary>
            <param name="name"></param>
            <param name="pluginConfig"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetOptimizedAssemblyList(System.String,System.String)">
            <summary>
            This is called to get a sorted list of plugins based on their likelyhood of having the plugin.
            </summary>
            <param name="assemblyName"></param>
            <param name="pluginName"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.FindPluginType(System.String)">
            <summary>
            Searches all loaded assemblies for the specified type, applying rules and prefixes to resolve the namespace and assembly.
            Returns null if it could not find the type, and logs an issue.
            </summary>
            <param name="searchNameString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.remove_plugin(System.Object)">
            <summary>
            For use only by plugins during .Uninstall.
            Removes the specified plugin from AllPlugins, QuerystringPlugins, CachingSystems, ImageEncoders, and ImageBuiderExtensions, based
            on which interfaces the instance implements.
            Plugins may register event handlers and modify settings - thus you should use the plugin's method to uninstall them vs. using this method.
            </summary>
            <param name="plugin"></param>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.add_plugin(ImageResizer.Plugins.IPlugin)">
            <summary>
            Only for use by plugins during IPlugin.Install. Call Plugin.Install instead of this method, since plugins often must perform other initialization actions.
            Adds the specified plugin to AllPlugins, QuerystringPlugins, CachingSystems, ImageEncoders, and ImageBuiderExtensions, based
            on which interfaces the instance implements. For ICache and IEncoder, the plugin is inserted at the beginning of CachingSystems and ImageEncoders respectively.
            To reiterate, plugins may register event handlers and modify settings - thus you should use the plugin's method to uninstall them vs. using this method.
            Will not register a plugin that is already installed, unless it implementes IMultiInstancePlugin.
            </summary>
            <param name="plugin"></param>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.RemoveAll">
            <summary>
            Removes all plugins, of every kind. Logs any errors encountered. (Not all plugins support uninstallation)
            </summary>
        </member>
        <member name="T:ImageResizer.Configuration.Xml.Node">
            <summary>
            No support for namespaces, no intention of eventual serialization.
            Everything is case-insensitive, but preserves case. Not thread safe.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.#ctor(System.Xml.XmlElement,ImageResizer.Configuration.Issues.IIssueReceiver)">
            <summary>
            Builds a tree of Nodes from the specified XML subtree. Duplicate attributes are sent to 'ir'
            </summary>
            <param name="e"></param>
            <param name="ir"></param>
        </member>
        <member name="P:ImageResizer.Configuration.Xml.Node.Attrs">
            <summary>
            Attributes
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Xml.Node.Item(System.String)">
            <summary>
            Access attributes by name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.Xml.Node.TextContents">
            <summary>
            The concatenated text, significant whitespace, and entity references within this element.
            Not XML compliant for sure.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Xml.Node.Name">
            <summary>
            The name of the element.
            </summary>
        </member>
        <member name="P:ImageResizer.Configuration.Xml.Node.Children">
            <summary>
            Child nodes
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.childrenByName(System.String)">
            <summary>
            Returns the subset of Children with a matching element name. (Case-insensitive)
            </summary>
            <param name="elementName"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.queryAttr(System.String)">
            <summary>
            Queryies the subtree for the specified attribute on the specified element. Example selector: element.element.attrname
            Assumes that the last segment of the selector is an attribute name. 
            Throws an ArgumentException if there is only one segment ( element ).
            Uses the cache.
            </summary>
            <param name="selector"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.setAttr(System.String,System.String)">
            <summary>
            Sets the specified attribute value, creating parent elements if needed. Clears the query cache.
            </summary>
            <param name="selector"></param>
            <param name="attrValue"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.setAttr(System.String,System.String,System.String)">
            <summary>
            Sets the specified attribute value, creating parent elements if needed. Clears the query cache.
            </summary>
            <param name="nodeSelector"></param>
            <param name="attrName"></param>
            <param name="attrValue"></param>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.makeNodeTree(System.String)">
            <summary>
            Traverses the specified path, creating any missing elements along the way. Uses existing nodes if found.
            </summary>
            <param name="selector"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.query(System.String)">
            <summary>
            Same as query(), except results are cached until clearQueryCache() is called.
            Faster, but can be incorrect if existing nodes are renamed, moved, or deleted.
            </summary>
            <param name="selector"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Node.deepCopy">
            <summary>
            Makes a recusive copy of the subtree, keeping no duplicate references to mutable types.
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Configuration.Xml.Node.IsEmpty">
            <summary>
            Returns true if the element has neither attributes nor children.
            </summary>
        </member>
        <member name="T:ImageResizer.Configuration.Xml.Selector">
            <summary>
            Encapsulates a node/attribute selection query, such as "node.node.attribute"
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.Xml.Selector.GetSublist(System.Int32)">
            <summary>
            Returns a subset of the list starting at the specified index
            </summary>
            <param name="startAt"></param>
            <returns></returns>
        </member>
        <member name="F:ImageResizer.Configuration.HttpModuleRequestAssistant.PostAuthorizeResult.UnrelatedFileType">
            <summary>
            If this occurs, no data is available. The request is not for us to interfere with.
            </summary>
        </member>
        <member name="F:ImageResizer.Configuration.HttpModuleRequestAssistant.PostAuthorizeResult.AccessDenied403">
            <summary>
            Authorization was denied. The user should be shown a 403. 
            </summary>
        </member>
        <member name="F:ImageResizer.Configuration.HttpModuleRequestAssistant.PostAuthorizeResult.Complete">
            <summary>
            Refer to RewrittenQueryHasDirective, ProcessingIndicated, CachingIndicated, RewrittenMappedPath, in order to decide what to do. 
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.MvcRoutingShimPlugin.StopRoutingRoute.#ctor(System.String)">
            <summary>
            Creates a route that matches any request where context.Items[contextItemsFlag] is (non-null).
            </summary>
            <param name="contextItemsFlag"></param>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.NoCacheAsyncHandler">
            <summary>
            Implements IHttpHandler, serves content for the NoCache plugin
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultSettings.Pipeline_PostRewrite(System.Web.IHttpModule,System.Web.HttpContext,ImageResizer.Configuration.IUrlEventArgs)">
            <summary>
            We duplicate efforts in PostRewrite to ensure that the DiskCache doesn't block configuration changes. 
            This won't help CloudFront, however.
            </summary>
            <param name="sender"></param>
            <param name="context"></param>
            <param name="e"></param>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultSettings.ExplicitSizeScaleMode">
            <summary>
            The default scale mode to use when 'width' and/or 'height' are used, and mode is not 'max'.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultSettings.MaxSizeScaleMode">
            <summary>
            The default scale mode to use when 'maxwidth' and/or 'maxheight' are used (or mode=max). 
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.Basic.FolderResizeSyntax.resizeFolder">
            <summary>
            Matches /resize(x,y,f)/ syntax
            Fixed Bug - will replace both slashes.. make first a lookbehind
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.FolderResizeSyntax.parseResizeFolderSyntax(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Parses and removes the resize folder syntax "resize(x,y,f)/" from the specified file path. 
            Places settings into the referenced querystring
            </summary>
            <param name="path"></param>
            <param name="q">The collection to place parsed values into</param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.IEPngFix">
            <summary>
            Causes IE6 and earlier to use GIF versions of PNG files. 
            By default, only fixes requests with ?iefix=true in the querystring. 
            When catchall is enabled, it will filter all png images, unless iefix=false on those requests.
            Not compatible with CDNs or proxy servers, as they do not allow varying by user agent reliably.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.IEPngFix.CatchAll">
            <summary>
            If true, 'iefix=true' will be the default for all PNG images, instead of 'iefix=false'.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.IEPngFix.Redirect">
            <summary>
            If true, the requests from IE will be HTTP redirected to new URLs. If false, the GIF will be silently served instead of the PNG, without any redirection.
            A CDN or caching proxy will mess things up regardless, but using redirection ensures that the CDN/proxy never caches the GIF version instead of the PNG.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.IEPngFix.DestFormatPng(ImageResizer.Configuration.IUrlEventArgs)">
            <summary>
            Returns true if the specified querystring and file will cause a PNG file to be returned.
            </summary>
            <param name="e"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.IEPngFix.NeedsPngFix(System.Web.HttpContext)">
            <summary>
            Returns true if the user agent string specifies MSIE versions 1 through 6 for Windows. Cached in context.Items after first call.
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.ImageHandlerSyntax">
            <summary>
            Adds URL syntax support for legacy projects:
            http://webimageresizer.codeplex.com/, 
            http://imagehandler.codeplex.com/, 
            http://bbimagehandler.codeplex.com/, 
            DAMP: http://our.umbraco.org/projects/backoffice-extensions/digibiz-advanced-media-picker,
            Support for http://bip.codeplex.com/ and http://dynamicimageprocess.codeplex.com/ urls is default since w/h are supported.
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.ClientCache">
            <summary>
            Provides default client-caching behavior. Sends Last-Modified header if present, and Expires header if &lt;clientcache minutes="value" /&gt; is configured.
            Also defaults Cache-control to Public for anonymous requests (and private for authenticated requests)
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.Gradient">
            <summary>
            Allows gradients to be dynamically generated like so:
            /gradient.png?color1=white&amp;color2=black&amp;angle=40&amp;width=20&amp;height=100
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.Image404">
            <summary>
            Redirects image 404 errors to a querystring-specified server-local location,
            while maintaining querystring values (by default) so layout isn't disrupted.
            </summary>
            <remarks>
            <para>
            The image to use in place of missing images can be specified by the "404"
            parameter in the querystring.  The "404" value can also refer to a named
            value in the &lt;plugins&gt;/&lt;Image404&gt; setting in Web.config.
            </para>
            </remarks>
            <example>
            <para>
            Using <c>&lt;img src="missingimage.jpg?404=image.jpg&amp;width=200" /&gt;</c>
            with the default setting (<c>&lt;image404 baseDir="~/" /&gt;</c>) will
            redirect to <c>~/image.jpg?width=200</c>.
            </para>
            <para>
            You may also configure 'variables', which is the recommended approach.
            For example, <c>&lt;image404 propertyImageDefault="~/images/nophoto.png" /&gt;</c>
            in the config file, and <c>&lt;img src="missingimage.jpg?404=propertyImageDefault&amp;width=200" /&gt;</c>
            will result in a redirect to <c>~/images/nophoto.png?width=200</c>.
            Any querystring values in the config variable take precedence over
            querystring values in the image querystring.  For example,
            <c>&lt;image404 propertyImageDefault="~/images/nophoto.png?format=png" /&gt;</c>
            in the config file and
            <c>&lt;img src="missingimage.jpg?format=jpg&amp;404=propertImageDefault&amp;width=200" /&gt;</c>
            will result in a redirect to <c>~/images/nophoto.png?format=png&amp;width=200</c>.
            </para>
            </example>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.NoCacheHandler">
            <summary>
            Implements IHttpHandler, serves content for the NoCache plugin
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.NoCache">
            <summary>
            Default cache when DiskCache isn't installed. 
            Useful for debugging purposes but unsuited for production use, and will use large quanities of RAM. (Scales to fewer than 5 concurrent requests).
            Serves content directly to the client from memory.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.NoCache.Install(ImageResizer.Configuration.Config)">
            <summary>
            Installs the caching system as the first choice.
            </summary>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.NoCache.Uninstall(ImageResizer.Configuration.Config)">
            <summary>
            Removes the plugin. 
            </summary>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.NoCache.Process(System.Web.HttpContext,ImageResizer.Caching.IResponseArgs)">
            <summary>
            Sends the response directly to the client with no caching logic.
            </summary>
            <param name="context"></param>
            <param name="e"></param>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.DropShadow">
            <summary>
            Adds drop shadow capabilities (shadowColor, shadowOffset, and shadowWidth commands)
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DropShadow.DrawOuterGradient(System.Drawing.Graphics,System.Drawing.PointF[],System.Drawing.Color,System.Drawing.Color,System.Single)">
            <summary>
            Draws a gradient around the specified polygon. Fades from 'inner' to 'outer' over a distance of 'width' pixels. 
            </summary>
            <param name="g"></param>
            <param name="poly"></param>
            <param name="inner"></param>
            <param name="outer"></param>
            <param name="width"></param>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.Presets.FilterQuerystring(System.Collections.Specialized.NameValueCollection,System.Boolean)">
            <summary>
            Returns an new NameValueCollection instance that only includes the "preset" and ("hmac" and "urlb64", if specified) querystring pairs from the specified instance. 
            </summary>
            <param name="s"></param>
            <param name="keepHmacAndUrl64"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.Presets.OnlyAllowPresets">
            <summary>
            If true, the plugin will block all commands except those specified in a preset, and the &amp;preset command itself. 
            Only applies to InterceptModule (the URL API). Does not apply to ImageBuilder.Build calls. To replicate the behavior, simply prevent any querystring keys except 'preset' from being passed to ImageBuilder.Build.
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.Trial">
            <summary>
            Can be used by plugins to implement 'trial version' functionality. Not currently used.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.Trial.Uninstall(ImageResizer.Configuration.Config)">
            <summary>
            The Trial plugin cannot be removed using this method.
            </summary>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.DiagnosticMode">
            <summary>
            Determines when the diagnostics page can be viewed.
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.Basic.DiagnosticMode.None">
            <summary>
            Diagnostics are disabled
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.Basic.DiagnosticMode.Localhost">
            <summary>
            Only local requests can access diagnostics
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.Basic.DiagnosticMode.AllHosts">
            <summary>
            All hosts can view diagnostics.
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.Diagnostic">
            <summary>
            Provides the incredibly helpful /resizer.debug page we all love.
            
            Mimics the behavior of customErrors by default. Not available if CustomErrors=true or retail=true. Available only to localhost if customErrors=RemoteOnly.
            Can be overriden by adding in the &lt;resizer&gt; section &lt;diagnostics enableFor="None|AllHosts|LocalHost" /&gt;
            
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.Diagnostic.AllowResponse(System.Web.HttpContext)">
            <summary>
            True if diagnostics can be displayed to the current user.
            If &lt;diagnostics enableFor="None" /&gt;, returns false.
            If &lt;diagnostics enableFor="Localhost" /&gt;, returns false for remote requests
            If &lt;diagnostics enableFor="AllHosts" /&gt;, returns true.
            If unspecified, uses the same behavior as ASP.NET Custom Errors.
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DiagnosticPageHandler.GetCurrentTrustLevel">
            <summary>
            Returns the ASP.NET trust level
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.DefaultEncoder">
            <summary>
            Provides basic encoding functionality for Jpeg, png, and gif output. Allows adjustable Jpeg compression, but doesn't implement indexed PNG files or quantized GIF files.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultEncoder.OutputFormat">
            <summary>
            If you set this to anything other than Gif, Png, or Jpeg, it will throw an exception. Defaults to Jpeg
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.IsValidOutputFormat(System.Drawing.Imaging.ImageFormat)">
            <summary>
            Returns true if the this encoder supports the specified image format
            </summary>
            <param name="f"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultEncoder.Quality">
            <summary>
            0..100 value. The Jpeg compression quality. 90 is the best setting. Not relevant in Png or Gif compression
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.Write(System.Drawing.Image,System.IO.Stream)">
            <summary>
            Writes the specified image to the stream using Quality and OutputFormat
            </summary>
            <param name="image"></param>
            <param name="s"></param>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultEncoder.SupportsTransparency">
            <summary>
            Returns true if the desired output type supports transparency.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultEncoder.MimeType">
            <summary>
            Returns the default mime-type for the OutputFormat
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.DefaultEncoder.Extension">
            <summary>
            Returns the default file extesnion for OutputFormat
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetRequestedFormat(System.String,System.Drawing.Imaging.ImageFormat)">
            <summary>
            Tries to parse an ImageFormat from the settings.Format value.
            If an unrecogized format is specified, returns null.
            If an unsupported format is specified, it is returned.
            If *no* format is specified, returns defaultValue.
            </summary>
            <param name="format"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetOriginalFormat(System.Object)">
            <summary>
            Attempts to determine the ImageFormat of the source image. First attempts to parse the path, if a string is present in original.Tag. (or if 'original' is a string)
            Falls back to using original.RawFormat. Returns null if both 'original' is null.
            RawFormat has a bad reputation, so this may return unexpected values, like MemoryBitmap or something in some situations.
            </summary>
            <param name="original">The source image that was loaded from a stream, or a string path</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetImageFormatFromPhysicalPath(System.String)">
            <summary>
            Returns the ImageFormat enumeration value based on the extension in the specified physical path. Extensions can lie, just a guess.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetExtensionFromImageFormat(System.Drawing.Imaging.ImageFormat)">
            <summary>
            Returns an string instance from the specfied ImageFormat. First matching entry in imageExtensions is used.
            Returns null if not recognized.
            </summary>
            <param name="format"></param>
            <returns></returns>
        </member>
        <member name="F:ImageResizer.Plugins.Basic.DefaultEncoder._imageExtensions">
            <summary>
            Returns a dict of (lowercase invariant) image extensions and ImageFormat values
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetImageFormatFromExtension(System.String)">
            <summary>
            Returns an ImageFormat instance from the specfied file extension. Extensions lie sometimes, just a guess.
            returns null if not recognized.
            </summary>
            <param name="ext"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.addImageExtension(System.String,System.Drawing.Imaging.ImageFormat)">
            <summary>
            NOT thread-safe! 
            </summary>
            <param name="extension"></param>
            <param name="matchingFormat"></param>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetContentTypeFromImageFormat(System.Drawing.Imaging.ImageFormat)">
            <summary>
            Supports Png, Jpeg, Gif, Bmp, and Tiff. Throws a ArgumentOutOfRangeException if not png, jpeg, gif, bmp, or tiff
            </summary>
            <param name="format"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetImageCodeInfo(System.String)">
            <summary>
            Returns the first ImageCodeInfo instance with the specified mime type. Returns null if there are no matches.
            </summary>
            <param name="mimeType"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.SaveJpeg(System.Drawing.Image,System.IO.Stream,System.Int32)">
            <summary>
            Saves the specified image to the specified stream using jpeg compression of the specified quality.
            </summary>
            <param name="b"></param>
            <param name="quality">A number between 0 and 100. Defaults to 90 if passed a negative number. Numbers over 100 are truncated to 100. 
            90 is a *very* good setting.
            </param>
            <param name="target"></param>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.SavePng(System.Drawing.Image,System.IO.Stream)">
            <summary>
            Saves the image in png form. If Stream 'target' is not seekable, a temporary MemoryStream will be used to buffer the image data into the stream
            </summary>
            <param name="img"></param>
            <param name="target"></param>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetSupportedQuerystringKeys">
            <summary>
            Returns the querystring keys used by DefaultEncoder (quality, format, and thumbnail)
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.DefaultEncoder.GetSignatures">
            <summary>
            Returns signatures for jpeg, bmp, gif, png, wmf, ico, and tif
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.SizeLimiting">
            <summary>
            Implements app-wide size Limits on image size
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.SizeLimiting.Limits">
            <summary>
            The image and total size limits
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.SizeLimits">
            <summary>
            Enforces two kinds of maximum size constraints: a Total size limit, and an Image size limit. 
            Image limits do not include padding, border, or effect widths, and automatically shrink the 'width/height/maxwidth/maxheight' values to fit within the limits.
            Total limits are absolute and apply to the actual result dimensions, causing an exception if they are exceeded. 
            Limits are checked during the layout phase,  prior to resource-intensive bitmap operations.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.SizeLimits.TotalSize">
            <summary>
            The maximum final size an image generated by ImageBuilder can be.  
            Defaults to 3200x3200
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.SizeLimits.TotalBehavior">
            <summary>
            What action to take when the total size of the final image would exceed the TotalSize value.
            Defaults to ThowException
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.SizeLimits.HasImageSize">
            <summary>
            Returns true if ImageSize is specified.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.SizeLimits.ImageSize">
            <summary>
            The maximum size an un-rotated image can be drawn when creating a resized image. 
            Rotation will increase the total size, as will any borders, paddings, margins, or
            effects. Not effective at preventing attacks, use totalSize.
            If larger values are specified in a querystring, they will automatically
            be scaled to fit within these dimensions.
            Defaults to 0x0, which means no limits
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.Basic.VirtualFolder">
            <summary>
            Functions exactly like an IIS virtual folder, but doesn't require IIS configuration.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.VirtualFolder.FailedToRegisterVpp">
            <summary>
            True if the provider attempted to register itself as a VirtualPathProvider and failed due to limited security clearance.
            False if it did not attempt (say, due to missing IOPermission) , or if it succeeded.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.VirtualFolder.RegisterAsVpp">
            <summary>
            If true, the plugin will attempt to register itself as an application-wide VirtualPathProvider instead of a image resizer-specific IVirtualImageProvider.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.VirtualFolder.VirtualPath">
            <summary>
            The virtual path served by the VirtualFolder
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.VirtualFolder.PhysicalPath">
            <summary>
            The physical path
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.Install(ImageResizer.Configuration.Config)">
            <summary>
            Registers the VirtualFolder plugin as a virtual path provider.
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Plugins.Basic.VirtualFolder.NoIOPermission">
            <summary>
            True if the plugin has detected it doesn't have sufficient IOPermission to operate.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.normalizeVirtualPath(System.String)">
            <summary>
            Converts relative and app-relative paths to domain-relative virtual paths.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.resolvePhysicalPath(System.String)">
            <summary>
            Attempts to convert a phyiscal path into a collapsed rooted physical path.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.collapsePath(System.String)">
            <summary>
            Collapses any .. segments
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.LocalMapPath(System.String)">
            <summary>
            Converts any virtual path in this folder to a physical path. Returns null if the virtual path is outside the folder.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.IsVirtualPath(System.String)">
            <summary>
            Returns true if the specified path is inside this virtual folder
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.isOnlyVirtualPath(System.String)">
            <summary>
            Returns true if (a) we have IOPermission, (b) the path is under our prefix, (c) the 
            expected physical file does not exist (because we shouldn't interfere in that case), and
            (d) the other VPPs don't believe the file exists.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.GetDateModifiedUtc(System.String)">
            <summary>
            Returns the LastWriteTimeUtc value for the specified virtual file in this folder, or DateTime.MinValue if missing.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.FileExists(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if the file exists in this virtual folder, and would not be masking an existing file.
            Returns false if NoIOPermission is true.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.GetFile(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Unless the path is not within the virtual folder, or IO permissions are missing, will return an IVirtualFile instance for the path. 
            The file may or may not exist.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.FileExists(System.String)">
            <summary>
            For internal use only by the .NET VPP system.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.GetFile(System.String)">
            <summary>
            For internal use only by the .NET VPP system.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.Basic.VirtualFolder.GetCacheDependency(System.String,System.Collections.IEnumerable,System.DateTime)">
            <summary>
            For internal use only by the .NET VPP system.
            </summary>
            <param name="virtualPath"></param>
            <param name="virtualPathDependencies"></param>
            <param name="utcStart"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IAsyncResponsePlan">
            <summary>
            Encapsulates a response plan for responding to a request. 
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFileAsync">
            <summary>
            A virtual file to support IVirtualImageProvider
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualFileAsync.OpenAsync">
            <summary>
            Returns an opened stream to the file contents.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFileCacheAsync">
            <summary>
            Implement this if you are caching files provided by a virtual image provider (For example, remote or s3-hosted images).
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualFileCacheAsync.GetFileIfCachedAsync(System.String,System.Collections.Specialized.NameValueCollection,ImageResizer.Plugins.IVirtualFileAsync)">
            <summary>
            Returns a cached copy of virtual file if it is cached, and if caching is desired.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <param name="original"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFileWithModifiedDateAsync">
            <summary>
            Always implement this if possible. Allows caching systems to detect changes to source files and invalidate cached data properly.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualFileWithModifiedDateAsync.GetModifiedDateUTCAsync">
            <summary>
            The modified (last write time) of the source file, in UTC form. 
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualImageProviderAsync">
            <summary>
            Implement this to allow ImageResizer to access your custom blob store
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualImageProviderAsync.FileExistsAsync(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if the specified request should be handled by this virtual image provider
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualImageProviderAsync.GetFileAsync(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns a virtual file instance for the specified path and querystring.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.VirtualPathProviderShim">
            <summary>
            Allows IVirtualImageProviders to expose access through the ASP.NET VirtualPathProvider system.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.VirtualPathProviderShim.normalizeVirtualPath(System.String)">
            <summary>
            Converts relative and app-relative paths to domain-relative virtual paths.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.ICurrentConfigProvider">
            <summary>
            Allows multi-tenancy support. The 'root' config only needs one plugin, which implements this interface.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.ICurrentConfigProvider.GetCurrentConfig">
            <summary>
            Returns a Config instance appropriate for the current request. If null is returned, the default/root instance will be used.
            Implementations MUST return the same instance of Config for two identical requests. Multiple Config instances per tenant/area will cause problems.
            MUST be thread-safe, concurrent calls WILL ocurr, and WILL occur during initial call. 
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.ILicenseProvider">
            <summary>
            Provides a place to cache/store licenses. Only responsible for licenses used by plugins attached to the current Config instance.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.ILicenseProvider.GetLicenses">
            <summary>
            Returns a collection containing all licenses for the plugin's Config instance, in their native form
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IRedactDiagnostics">
            <summary>
            Permits plugins to redact data from the diagnostics page, like passwords
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFileSourceCacheKey">
            <summary>
            This interface has nothing to do with output caching. This allows VirtualFile instances to override the default cache key (.VirtualPath) for source caching of VirtualFile instances.
            See IVirtualFileCache
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFileCache">
            <summary>
            Implement this if you are caching files provided by a virtual image provider (For example, remote or s3-hosted images).
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualFileCache.GetFileIfCached(System.String,System.Collections.Specialized.NameValueCollection,ImageResizer.Plugins.IVirtualFile)">
            <summary>
            Returns a cached copy of virtual file if it is cached, and if caching is desired.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <param name="original"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IFileExtensionPlugin">
            <summary>
            For plugins that add support for new source file image extensions.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IFileExtensionPlugin.GetSupportedFileExtensions">
            <summary>
            If the plugin adds support for new file extensions (such as "psd"), they should be returned by this method.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IMultiInstancePlugin">
            <summary>
            Tag your plugin with this interface if it supports having multiple instances registered at once
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.IPlugin">
            <summary>
            All plugins must implement this. Enables web.config addition and removal.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IPlugin.Install(ImageResizer.Configuration.Config)">
            <summary>
            Installs the plugin in the specified Config instance. The plugin must handle all the work of loading settings, registering the plugin etc.
            </summary>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.IPlugin.Uninstall(ImageResizer.Configuration.Config)">
            <summary>
            Uninstalls the plugin. Should reverse all changes made during Install
            </summary>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.ISettingsModifier">
            <summary>
            Provides a way to modify settings before they reach the managed API. Does not execute early enough to affect disk caching, although that may change in a later version.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.ISettingsModifier.Modify(ImageResizer.ResizeSettings)">
            <summary>
            Implementations should support being called on their own result multiple times without behavioral differences. Currently only executed in the managed API, too late to affect the disk cache, but that will probably change (it's likely all ISettingsModifiers will get executed twice, once after PostRewrite and once before the managed API executes). 
            </summary>
            <param name="settings"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.VirtualFileWrapper">
            <summary>
            Wraps a standard ASP.NET VirtualFile instance in an IVirtualFile-compatible wrapper.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.VirtualFileWrapper.UnderlyingFile">
            <summary>
            The VirtualFile instance this class is wrapping
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.IQuerystringPlugin">
            <summary>
            For plugins that access the query string (important!)
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IQuerystringPlugin.GetSupportedQuerystringKeys">
            <summary>
            If the plugin reads any values from the querystring, the names of the keys should be specified here. 
            This information is required so that the HttpModule knows when to handle an image request.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFile">
            <summary>
            A virtual file to support IVirtualImageProvider
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.IVirtualFile.VirtualPath">
            <summary>
            The virtual path of the file (relative to the domain, like /app/folder/file.ext)
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualFile.Open">
            <summary>
            Returns an opened stream to the file contents.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualImageProvider">
            <summary>
            Implement this to allow your class (or VirtualPathProvider subclass) to be used without registering it with the whole ASP.NET system.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualImageProvider.FileExists(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns true if the specified request should be handled by this virtual image provider
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualImageProvider.GetFile(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns a virtual file instance for the specified path and querystring.
            </summary>
            <param name="virtualPath"></param>
            <param name="queryString"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualBitmapFile">
            <summary>
            For virtual files who want to provide their data in Bitmap form (like a PSD reader or gradient generator). Plugins should never assume this interface will be used, .Open() must also be implemented.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualBitmapFile.GetBitmap">
            <summary>
            Returns a Bitmap instance of the file's contents
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.IVirtualFileWithModifiedDate">
            <summary>
            Always implement this if possible. Allows caching systems to detect changes to source files and invalidate cached data properly.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.IVirtualFileWithModifiedDate.ModifiedDateUTC">
            <summary>
            The modified (last write time) of the source file, in UTC form. 
            </summary>
        </member>
        <member name="M:ImageResizer.ImageJob.#ctor(System.Object,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Creates an ImageJob that won't run a full build - it will only do enough work in order to supply the requested data fields.
            </summary>
            <param name="source"></param>
            <param name="requestedImageInfo">Pass null to use "source.width","source.height", "result.ext","result.mime". </param>
        </member>
        <member name="M:ImageResizer.ImageJob.Build">
            <summary>
            Shorthand method for ImageBuilder.Current.Build(this)
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.ImageJob.RequestedInfo">
            <summary>
            A list of strings which define properties that can be returned to the caller. "source.width", "source.height", "result.ext", "result.mime" are the most commonly used. Defaults to none
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.ResultInfo">
            <summary>
            A dictionary of key/value pairs provided along with the result.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.Source">
            <summary>
            The source image's physical path, app-relative virtual path, or a Stream, byte array, Bitmap, VirtualFile, IVirtualFile, HttpPostedFile, or HttpPostedFileBase instance.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.Dest">
            <summary>
            The destination Stream, physical path, or app-relative virtual path. If a Bitmap instance is desired, 
            set this to typeof(System.Drawing.Bitmap). The result will be stored in .Result
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.Result">
            <summary>
            The result if a Bitmap, BitmapSource, or IWICBitmapSource instance is requested. 
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.SourceWidth">
            <summary>
            The width, in pixels, of the first frame or page in the source image file
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.SourceHeight">
            <summary>
            The height, in pixels, of the first frame or page in the source image file
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.FinalWidth">
            <summary>
            The width, in pixels, of the first frame or page in the final image file
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.FinalHeight">
            <summary>
            The height, in pixels, of the first frame or page in the final image file
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.ResultFileExtension">
            <summary>
            The correct file extension for the resulting file stream, without a leading dot. Will be null if the result is not an encoded image.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.ResultMimeType">
            <summary>
            The correct mime type for the resulting file stream, without a leading dot. Will be null if the result is not an encoded image.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.Settings">
            <summary>
            The image processing settings
            </summary> 
        </member>
        <member name="P:ImageResizer.ImageJob.Profiler">
            <summary>
            The profiler to report start/stop events to.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.Instructions">
            <summary>
            The image processing instructions
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.DisposeSourceObject">
            <summary>
            If true, and if 'source' is a IDisposable instead like Bitmap or Stream instance, it will be disposed after it has been used. Defaults to true.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.ResetSourceStream">
            <summary>
            If true, and if 'source' is seekable, the stream will be reset to its previous position after being read.
            Always true for HttpPostedFile(Base) instances, defaults to false for all others.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.DisposeDestinationStream">
            <summary>
            If true, and if 'dest' is a Stream instance, it will be disposed after the image has been written. Defaults to false.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.FinalPath">
            <summary>
            Contains the final physical path to the image (if 'dest' was a path - null otherwise)
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.SourcePathData">
            <summary>
            If 'source' contains any path-related data, it is copied into this member for use by format detetction code, so decoding can be optimized.
            May be a physical or virtual path, or just a file name.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.AddFileExtension">
            <summary>
            If true, the appropriate extension for the encoding format will be added to the destination path, and the result will be stored in FinalPath in physical path form.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.AllowDestinationPathVariables">
            <summary>
            If true (the default), destination paths can include variables that are expanded during the image build process. 
            Ex. Dest = "~/folder/&lt;guid>.&lt;ext>" will expand to "C:\WWW\App\folder\1ddadaadaddaa75da75ad34ad33da3a.jpg". 
            </summary>
        </member>
        <member name="P:ImageResizer.ImageJob.CreateParentDirectory">
            <summary>
            Defaults to false. When true, the parent directory of the destination filename will be created if it doesn't already exist.
            </summary>
        </member>
        <member name="M:ImageResizer.ImageJob.CreateDir">
            <summary>
            Sets CreateParentDirectory to true. Provided for easy chaining so you can do one-liners.
            new ImageJob(source,dest,settings).CreateDir().Build()
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageJob.ResolveTemplatedPath(System.String,ImageResizer.Util.PathUtils.VariableResolverCallback)">
            <summary>
            Internal use only.
            Resolves the specified (potenetially templated) path into a physical path. 
            Applies the AddFileExtension setting using the 'ext' variable.
            Supplies the guid, settings.*, filename, path, and originalExt variables. 
            The resolver method should supply 'ext', 'width', and 'height' (all of which refer to the final image).
            If AllowDestinationPathVariables=False, only AddFileExtenson will be processed.
            </summary>
            <param name="path"></param>
            <param name="resolver"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Instructions">
            <summary>
            A name/value collection of image processsing instructions. The successor to ResizeSettings.
            Just because a key doesn't have a property wrapper doesn't mean you can't use it. i["key"] = value; isnt' that scary.
            </summary>
        </member>
        <member name="M:ImageResizer.Instructions.ToString">
            <summary>
            Returns a human-friendly representation of the instruction set. Not suitable for URL usage; use ToQueryString() for that.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Instructions.ToQueryString">
            <summary>
            Returns a URL-safe querystring containing the instruction set
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Instructions.#ctor">
            <summary>
            Creates an empty instructions collection. 
            </summary>
        </member>
        <member name="M:ImageResizer.Instructions.#ctor(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Copies the specified collection into a new Instructions instance.
            </summary>
            <param name="col"></param>
        </member>
        <member name="M:ImageResizer.Instructions.#ctor(System.String)">
            <summary>
            Parses the specified querystring into name/value pairs. Supports standard and semicolon syntaxes. The most readable format is 'key=value;key2=value2' Discards everything after the first '#' character as a URL fragment.
            </summary>
            <param name="queryString"></param>
        </member>
        <member name="P:ImageResizer.Instructions.Width">
            <summary>
            The width in pixels to constrain the image to. See 'Mode' and 'Scale' for constraint logic.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Height">
            <summary>
            The height in pixels to constrain the image to. See 'Mode' and 'Scale' for constraint logic.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Mode">
            <summary>
            The fit mode to use when both Width and Height are specified. Defaults to Pad.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Anchor">
            <summary>
            The alignment to use when cropping or padding the image automatically. Defaults to MiddleCenter.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.SourceFlip">
            <summary>
            Flip instruction to perform immediately after loading source image. Maps to 'sflip' and 'sourceFlip'. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.FinalFlip">
            <summary>
            Flip instruction to perform after rendering is complete
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Scale">
            <summary>
            Control how upscaling is performed. Defaults to DownscaleOnly. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Cache">
            <summary>
            Allows disk caching to be forced or prevented.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Process">
            <summary>
            Allows processing to be forced or prevented.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Frame">
            <summary>
            The frame of the animated GIF to display. 1-based
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Page">
            <summary>
            The page of the TIFF file to display. 1-based
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.JpegQuality">
            <summary>
            Determines Jpeg encoding quality. Maps to 'quality' setting. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.JpegSubsampling">
            <summary>
            Maps to 'subsampling'. Requires encoder=wic|freeimage or builder=wic|freeimage to take effect. Not supported by the GDI pipeline.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.PaletteSize">
            <summary>
            Maps to 'colors'. Sets the palette size for the final png or gif image (not relevant for jpegs). 
            Set to 'null' to use the largest palette size available in the format.
            Requires the PrettyGifs or WicEncoder plugin. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Zoom">
            <summary>
            A multiplier to apply to all sizing settings (still obeys Scale=down, though). Useful when you need to apply a page-wide scaling factor, such as for mobile devices.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.CropXUnits">
            <summary>
            Defines the horizontal width of the crop rectangle's coordinate space. For example, setting this to 100 makes the crop X1 and X2 values percentages of the image width.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.CropYUnits">
            <summary>
            Defines the vertical height of the crop rectangle's coordinate space. For example, setting this to 100 makes the crop Y1 and Y1 values percentages of the image height.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.CropRectangle">
            <summary>
            An X1,Y1,X2,Y2 array of coordinates. Unless CropXUnits and CropYUnits are specified, these are in the coordinate space of the original image.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.AutoRotate">
            <summary>
            Automatically rotates images based on gravity sensor data embedded in Exif. Requires the AutoRotate plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.SourceRotate">
            <summary>
            Maps to 'srotate'. Rotates the source image prior to processing. Only 90 degree angles are currently supported.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Rotate">
            <summary>
            Maps to 'rotate'. Rotates the image during rendering. Arbitrary angles are supported. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Format">
            <summary>
            Use 'OutputFormat' unless you need a custom value. Determines the format and encoding of the output image.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.OutputFormat">
            <summary>
            Selects the image encoding format. Maps to 'format'. Returns null if the format is unspecified or if it isn't defined in the enumeration.  
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.IgnoreICC">
            <summary>
            If true, the ICC profile will be discared instead of being evaluated server side (which typically causes inconsistent and unexpected effects). 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.FallbackImage">
            <summary>
            The fallback image to redirect to if the original image doesn't exist. Must be the name of a pre-defined 404 image or a filename in the default 404 images directory. 
            Requires the Image404 plugin to be installed.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.BackgroundColor">
            <summary>
            The color of margin and padding regions. Defaults to Transparent, or White (when jpeg is the selected output color). 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.PaddingColor">
            <summary>
            Defaults to 'bgcolor'. Allows a separate color to be used for padding areas vs. margins.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.BorderColor">
            <summary>
            The color to draw the border with, if a border width is specified.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Preset">
            <summary>
            The name of a pre-defined preset, or a comma-delimited list of presets to apply. These may overwrite other settings. Requires the Presets plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Watermark">
            <summary>
            The name of a pre-defined watermark layer or group from Web.config, or a comma-delimited list of names. Requires the Watermark plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Invert">
            <summary>
            Applies a Negative filter to the image. Requires the SimpleFilters plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Sepia">
            <summary>
            Applies a Sepia filter to the image. Requires the SimpleFilters plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Grayscale">
            <summary>
            Applies the specified kind of grayscale filter to the image. Requires the SimpleFilters plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Alpha">
            <summary>
            Value between 0 and 1. Makes the rendered image transparent. Does not affect borders or background colors - those accept 4-byte colors with alpha channels, however.
            Requires the SimpleFilters plugin. Unless the output format is PNG, the image will be blended against white or the background color. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Brightness">
            <summary>
            -1..1 Adjust the brightness of the image. Requires the SimpleFilters plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Contrast">
            <summary>
            -1..1 Adjust the contrast of the image. Requires the SimpleFilters plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Saturation">
            <summary>
            -1..1 Adjust the saturation of the image. Requires the SimpleFilters plugin
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.TrimThreshold">
            <summary>
            Setting this enables automatic whitespace trimming using an energy function. 50 is safe, even 255 rarely cuts anything off except a shadow. Set TrimPadding to pad the result slightly and improve appearance.
            Requires the WhitespaceTrimmer plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.TrimPadding">
            <summary>
            Set TrimThreshold first. This specifies a percentage of the image size to 'add' to the crop rectangle. Setting to 0.5 or 1 usually produces good results.
            Requires the WhitespaceTrimmer plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Blur">
            <summary>
            Guassian Blur. Requires the AdvancedFilters plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Sharpen">
            <summary>
            Unsharp Mask. Requires the AdvancedFilters plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.RemoveNoise">
            <summary>
            Safe noise removal. Requires the AdvancedFilters plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Dither">
            <summary>
            Controls dithering when rendering to an 8-bit PNG or GIF image. Requires PrettyGifs or WicEncoder. Accepted values for PrettyGifs: true|false|4pass|30|50|79|[percentage]. Accepted values for WicEncoder: true|false. 
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Encoder">
            <summary>
            Specify a preferred encoder for compressing the output image file. Defaults to 'gdi'. Other valid values are 'freeimage' and 'wic', which require the FreeImageEncoder and WicEncoder plugins respectively. 
            FreeImage offers faster jpeg encoding, while WIC offers faster PNG and GIF encoding. Both, however, require full trust.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Decoder">
            <summary>
            Specify a preferred decoder for parsing the original image file. Defaults to 'gdi'. Other values include 'freeimage', 'wic', and 'psdreader'. The preferred decoder gets the first chance at reading the files. If that fails, all other decoders try, in order of declaration in Web.config.
            Requires the matching FreeImageDecoder, WicDecoder, or PsdReader plugin to be installed.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Builder">
            <summary>
            Specify the image processing pipeline to use. Defaults to 'gdi'. If FreeImageBuilder or WicBuilder is installed, you can specify 'freeimage' or 'wic' to use that pipeline instead. 
            The WIC pipeline offers a 2-8X performance increase of GDI, at the expense of slightly reduced image quality, the full trust requirement, and support for only basic resize and crop commands. 
            FreeImage offers *nix-level image support, and handles many images that gdi and wic can't deal with. It is also restricted to a subset of the full command series.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.RoundCorners">
            <summary>
            Gets or sets a 1 or 4-element array defining cornder radii. If the array is 1 element, it applies to all corners. If it is 4 elements, each corner gets an individual radius. Values are percentages of the image width or height, whichever is smaller.
            Requires the SimpleFilters plugin.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Padding">
            <summary>
            ["paddingWidth"]: Gets/sets the width(s) of padding inside the image border.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Margin">
            <summary>
            ["margin"]: Gets/sets the width(s) of the margin outside the image border and effects.
            </summary>
        </member>
        <member name="P:ImageResizer.Instructions.Border">
            <summary>
            Friendly get/set accessor for the ["borderWidth"] value. Returns null when unspecified.
            </summary>
        </member>
        <member name="T:ImageResizer.Caching.ResponseArgs">
            <summary>
            IResponseArgs implementation
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseArgs.GetModifiedDateUTC">
            <summary>
            Obsolete. Do not use;  RequestKey will include the modified date if present. 
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseArgs.ResizeImageToStream">
            <summary>
            A callback method that will resize and encode the image into a stream.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseArgs.RequestKey">
            <summary>
            A value derived from the request. Can be used as a cache key. 
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseArgs.HasModifiedDate">
            <summary>
            Obsolete. Do not use;  RequestKey will include the modified date if present. 
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseArgs.ResponseHeaders">
            <summary>
            The content-type of the data, among other things. Set ResponseHeaders.ApplyDuringPreSendRequestHeaders to automatically
            write caching headers based on ResponseHeaders values.
            Caching systems that use redirects may use this data as hints when configuring caching on the remote server.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseArgs.RewrittenQuerystring">
            <summary>
            The rewritten querystring. Can be useful for caching systems that accept querystring arguments.
            </summary>
        </member>
        <member name="T:ImageResizer.Caching.ICacheProvider">
            <summary>
            Provides cache selection logic
            </summary>
        </member>
        <member name="M:ImageResizer.Caching.ICacheProvider.GetCachingSystem(System.Web.HttpContext,ImageResizer.Caching.IResponseArgs)">
            <summary>
            Selects a caching system for the specified request and response
            </summary>
            <param name="context"></param>
            <param name="responseArgs"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Caching.IResponseHeaders">
            <summary>
            Allows customization of response headers for a processed image, as well as configuration of the caching system.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.ContentType">
            <summary>
            The mime-type of the output data. Defaults to null.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.CacheControl">
            <summary>
            The cache setting. Defaults to ServerAndPrivate
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.Expires">
            <summary>
            The UTC time at which the cached data should expire. 
            Browsers generally don't re-request resources until the they have expired (unlike modififeddate).
            If MinValue, will be ignored.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.LastModified">
            <summary>
            The UTC modified date send with the response. Used by browsers with If-Modified-Since to check a cached value is still valid.
            If = MinValue, will be ignored.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.ValidUntilExpires">
            <summary>
            When true: If a client requests a refresh, the response will *still* be served from the server cache.
            Defaults to false
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.SuppressVaryHeader">
            <summary>
            ASP.Net sometimes sends Vary: * which obliterates caching. Vary is to be avoided anyhow.
            Defaults to true
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.DefaultHeaders">
            <summary>
            These headers should be applied first, prior to the application of other settings
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.Headers">
            <summary>
            These headers are applied after applying all of the other settings. (and they will overwrite exisiting values).
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.ServerCacheDependencies">
            <summary>
            Returns a collection of dependencies used for invalidating the server cache. 
            Note, having items here will disable kernel-mode caching. Perhaps it is better to simply use LastModified
            </summary>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.ApplyToResponse">
            <summary>
            A delegate method to apply the values stored in IResponseHeaders to the specified HttpContext.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseHeaders.ApplyDuringPreSendRequestHeaders">
            <summary>
            True if the application should automatically execute ApplyToResponse() during the PreSendRequestHeaders event.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseHeaders.ContentType">
            <summary>
            The mime-type of the encoded image. Defaults to null
            </summary>
        </member>
        <member name="T:ImageResizer.Caching.ICache">
            <summary>
            Provides caching behavior
            </summary>
        </member>
        <member name="M:ImageResizer.Caching.ICache.CanProcess(System.Web.HttpContext,ImageResizer.Caching.IResponseArgs)">
            <summary>
            Returns false if the cache is unable to process the request. If false, the caller should fall back to a different cache
            </summary>
            <param name="current"></param>
            <param name="e"></param>
        </member>
        <member name="M:ImageResizer.Caching.ICache.Process(System.Web.HttpContext,ImageResizer.Caching.IResponseArgs)">
            <summary>
            Must update the cache if needed, then either rewrite, redirect or serve the cached data.
            </summary>
            <param name="current"></param>
            <param name="e"></param>
        </member>
        <member name="T:ImageResizer.Caching.ResizeImageDelegate">
            <summary>
            A callback method that will resize, encode, and write the data to the given stream.
            Callback may throw FileNotFoundException when running on top of an optimistic VPP
            </summary>
        </member>
        <member name="T:ImageResizer.Caching.ModifiedDateDelegate">
            <summary>
            A callback method to return the last modified date of the source file if available, or DateTime.MinValue if not available.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Caching.IResponseArgs">
            <summary>
            A collection of data and callbacks that can be passed to a caching object.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.RequestKey">
            <summary>
            A string derived from the request, which can contain any kind of data. To get a cache key that varies with the source modified date, 
            it should be combined with the value of GetModifiedDateUTC() and hashed.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.RewrittenQuerystring">
            <summary>
            The rewritten querystring. Can be useful for caching systems that accept querystring arguments.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.SuggestedExtension">
            <summary>
            A file extension appropriate for the resulting data. May be different than the extension on the original request.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.ResponseHeaders">
            <summary>
            The content-type of the data, among other things. Set ResponseHeaders.ApplyDuringPreSendRequestHeaders to automatically
            write caching headers based on ResponseHeaders values.
            Caching systems that use redirects may use this data as hints when configuring caching on the remote server.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.GetModifiedDateUTC">
            <summary>
            Obsolete. Do not use;  RequestKey will include the modified date if present. 
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.HasModifiedDate">
            <summary>
            Obsolete. Do not use; RequestKey includes all invalidation information
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.ResizeImageToStream">
            <summary>
            A callback method that will resize, encode, and write the data to the given stream.
            </summary>
        </member>
        <member name="T:ImageResizer.ResizerSection">
            <summary>
            Handles reading the &lt;resizer&gt; section from Web.Config
            </summary>
        </member>
        <member name="M:ImageResizer.ResizerSection.#ctor(ImageResizer.Configuration.Xml.Node)">
            <summary>
            Create a ResizerSection instance that wraps the specified node. The node should be a &lt;resizer&gt; element.
            </summary>
            <param name="root"></param>
        </member>
        <member name="M:ImageResizer.ResizerSection.#ctor(System.String)">
            <summary>
            Parse the specified XML into a Node. The text should include 1 root element, &lt;resizer&gt;
            </summary>
            <param name="xml"></param>
        </member>
        <member name="M:ImageResizer.ResizerSection.getCopyOfNode(System.String)">
            <summary>
            Returns the specified subtree, deep copied so it can be used without locking.
            </summary>
            <param name="selector"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ResizerSection.OnDeserializeUnrecognizedElement(System.String,System.Xml.XmlReader)">
            <summary>
            Called for each child element not specified declaratively
            </summary>
            <param name="elementName"></param>
            <param name="reader"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Encoding.IEncoderProvider">
            <summary>
            A provider (or selector) of IEncoder instances.
            </summary>
        </member>
        <member name="M:ImageResizer.Encoding.IEncoderProvider.GetEncoder(ImageResizer.ResizeSettings,System.Object)">
            <summary>
            Returns an encoder based on the provided settings and the source object
            </summary>
            <param name="settings">Request settings, like format, quality, colors, dither, etc.</param>
            <param name="original">May be a Drawing.Image instance, a path, or null. To provide both, set Image.tag to the path. Helps the encoder detect the original format if the format was not specified.</param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Encoding.IEncoder">
            <summary>
            An image encoder. Exposes methods for suitability checking, encoding, transparency compatibility checking, and mime-type/extension calculation.
            </summary>
        </member>
        <member name="M:ImageResizer.Encoding.IEncoder.CreateIfSuitable(ImageResizer.ResizeSettings,System.Object)">
            <summary>
            If the encoder can handle the requirements specified by 'settings' and 'source', it should return an encoder instance.
            If not, it should return null.
            </summary>
            <param name="settings">Request settings, like format, quality, colors, dither, etc.</param>
            <param name="original">May be a Drawing.Image instance, a path, or null. To provide both, set Image.tag to the path. Helps the encoder detect the original format if the format was not specified.
            May also be used for palette generation hinting by some encoders.</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Encoding.IEncoder.Write(System.Drawing.Image,System.IO.Stream)">
            <summary>
            Encodes the image to the specified stream 
            </summary>
            <param name="i"></param>
            <param name="s"></param>
        </member>
        <member name="P:ImageResizer.Encoding.IEncoder.SupportsTransparency">
            <summary>
            True if the output format will support transparency as it is currently configured.
            </summary>
        </member>
        <member name="P:ImageResizer.Encoding.IEncoder.MimeType">
            <summary>
            Returns the appropriate mime-time for the output format as currently configured.
            </summary>
        </member>
        <member name="P:ImageResizer.Encoding.IEncoder.Extension">
            <summary>
            Returns a file extension appropriate for the output format as currently configured, without a leading dot.
            </summary>
        </member>
        <member name="T:ImageResizer.Resizing.RequestedAction">
            <summary>
            What to do about remaining handlers/methods for the specified section
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.RequestedAction.None">
            <summary>
            Does nothing
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.RequestedAction.Cancel">
            <summary>
            Requests that ImageBuilder cancels the default logic of the method, and stop executing plugin calls for the method immediately.
            </summary>
        </member>
        <member name="T:ImageResizer.Resizing.AbstractImageProcessor">
            <summary>
            Not for external use. Inherit from BuilderExtension instead.
            Dual-purpose base class for both ImageBuilder and BuilderExtension
             Extensions can inherit and override certain methods.
            ImageBuilder inherits this method to utilize its extension invocation code. 
            Each method of AbstractImageProcessor loops through all extensions and executes the same method on each. Provides a sort of multiple-inheritance mechanisim.
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.#ctor">
            <summary>
            Creates a new AbstractImageProcessor with no extensions
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.#ctor(System.Collections.Generic.IEnumerable{ImageResizer.Resizing.BuilderExtension})">
            <summary>
            Creates a new AbstractImageProcessor which will run the specified extensions with each method call.
            </summary>
            <param name="extensions"></param>
        </member>
        <member name="F:ImageResizer.Resizing.AbstractImageProcessor.exts">
            <summary>
            Contains the set of extensions that are called for every method. 
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PreLoadImage(System.Object@,System.String@,System.Boolean@,ImageResizer.ResizeSettings@)">
            <summary>
            Extend this to allow additional types of source objects to be accepted by transforming them into Bitmap instances.
            </summary>
            <param name="source"></param>
            <param name="path"></param>
            <param name="disposeSource"></param>
            <param name="settings"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.GetStream(System.Object,ImageResizer.ResizeSettings,System.Boolean@,System.String@,System.Boolean@)">
            <summary>
            Extend this to allow  additional types of source objects to be accepted by transforming them into Stream instances. First plugin to return a Stream wins.
            </summary>
            <param name="source"></param>
            <param name="settings"></param>
            <param name="disposeStream"></param>
            <param name="path"></param>
            <param name="restoreStreamPosition"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.DecodeStreamFailed(System.IO.Stream,ImageResizer.ResizeSettings,System.String)">
            <summary>
            Extensions are executed until one extension returns a non-null value. 
            This is taken to mean that the error has been resolved.
            Extensions should not throw an exception unless they wish to cause subsequent extensions to not execute.
            If extensions throw an ArgumentException or ExternalException, it will be wrapped in an ImageCorruptedException instance.
            If the Bitmap class is used for decoding, read gdi-bugs.txt and make sure you set b.Tag to new BitmapTag(optionalPath,stream);
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.DecodeStream(System.IO.Stream,ImageResizer.ResizeSettings,System.String)">
            <summary>
            Extend this to support alternate image source formats. 
            If the Bitmap class is used for decoding, read gdi-bugs.txt and make sure you set b.Tag to new BitmapTag(optionalPath,stream);
            </summary>
            <param name="s"></param>
            <param name="settings"></param>
            <param name="optionalPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostDecodeStream(System.Drawing.Bitmap@,ImageResizer.ResizeSettings)">
            <summary>
            Extend this to modify the Bitmap instance after it has been decoded by DecodeStream or DecodeStreamFailed
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PreAcquireStream(System.Object@,ImageResizer.ResizeSettings)">
            <summary>
            Extend this to allow additional types of *destination* objects to be accepted by transforming them into a stream.
            </summary>
            <param name="dest"></param>
            <param name="settings"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.BuildJob(ImageResizer.ImageJob)">
            <summary>
            The method to override if you want to replace the entire pipeline.
            All Build() calls call this method first. 
            Does nothing in ImageBuilder
            </summary>
            <param name="job"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.BuildJobBitmapToStream(ImageResizer.ImageJob,System.Drawing.Bitmap,System.IO.Stream)">
            <summary>
            Called for Build() calls that want the result encoded. (Not for Bitmap Build(source,settings) calls.
            Only override this method if you need to replace the behavior of image encoding and image processing together, such as adding support
            for resizing multi-page TIFF files or animated GIFs.
            
            Does NOT dispose of 'source' or 'source's underlying stream.
            </summary>
            <param name="source"></param>
            <param name="dest"></param>
            <param name="job"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.OnProcess(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.0 First step of the Process() method. Can replace the entire Process method if RequestAction.Cancel is returned.
            Can be used to add points to translate (for image maps), and also to modify the settings 
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PrepareSourceBitmap(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.1 Switches the bitmap to the correct frame or page, and applies source flipping commands.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostPrepareSourceBitmap(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.2 Extend this to apply any pre-processing to the source bitmap that needs to occur before Layout begins
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.Layout(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).0: This is the last point at which points to translate should be added.
            Only return RequestedAction.Cancel if you wish to replace the entire Layout sequence logic.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.FlipExistingPoints(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).1: This is where the points in the layout are flipped the same way the source bitmap was flipped (unless their flags specify otherwise)
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).2: Rings 'image' and 'imageArea' are added to the layout. 
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).3: Add rings here to insert them between the image area and the padding
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutPadding(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).4: Ring "padding" is added to the layout
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutPadding(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).5: Add rings here to insert them between the padding and the border
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutBorder(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).6: Ring "border" is added to the layout
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutBorder(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).7: Add rings here to insert them between the border and the effect rings
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutEffects(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).8: Effects such as 'shadow' are added here.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutEffects(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).9: Add rings here to insert them between the effects and the margin
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutMargin(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).10: Margins are added to the layout
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutMargin(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).11: Add rings here to insert them around the margin. Rings will be outermost
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutRotate(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).anytime: Occurs when the layout is rotated. May be called anytime during Layout()
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutRotate(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).anytime: Occurs after the layout is rotated. May be called anytime during Layout()
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutNormalize(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).anytime: Occurs when the layout is normalized to 0,0. May be called anytime during Layout()
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutNormalize(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).anytime: Occurs after the layout is normalized. May be called anytime during Layout()
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.LayoutRound(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).anytime: Occurs when the layout point values are rounded to integers. May be called anytime during Layout()
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostLayoutRound(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).anytime: Occurs after the layout point values are rounded to integers. May be called anytime during Layout()
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.EndLayout(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3(Layout).12: Occurs once layout has finished. No more changes should occur to points or rings in the layout after this method. destSize is calculated here.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PrepareDestinationBitmap(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.4: The destination bitmap is created and sized based destSize. A graphics object is initialized for rendering.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.Render(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render) Rendering. Do not return RequestedAction.Cancel unless  you want to replace the entire rendering system.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.RenderBackground(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).1 The background color is rendered
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostRenderBackground(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).2 After the background color is rendered
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.RenderEffects(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).3 Effects (such as a drop shadow or outer glow) are rendered
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostRenderEffects(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).4 After outer effects are rendered
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.RenderPadding(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).5 Image padding is drawn
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostRenderPadding(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).6 After image padding is drawn
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.CreateImageAttribues(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).7: An ImageAttributes instance is created if it doesn't already exist.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostCreateImageAttributes(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).8: The ImageAttributes instance exists and can be modified or replaced.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PreRenderImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).9: Plugins have a chance to pre-process the source image before it gets rendered, and save it to s.preRenderBitmap
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.RenderImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).10: The image is copied to the destination parallelogram specified by ring 'image'. 
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostRenderImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).11: After the image is drawn
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.RenderBorder(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).12: The border is rendered
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostRenderBorder(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).13: After the border is drawn
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PreRenderOverlays(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).14: Any last-minute changes before watermarking or overlays are applied
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.RenderOverlays(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).15: Watermarks can be rendered here. All image processing should be done
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PreFlushChanges(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).16: Called before changes are flushed and the graphics object is destroyed.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.FlushChanges(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).17: Changes are flushed to the bitmap here and the graphics object is destroyed.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostFlushChanges(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).18: Changes have been flushed to the bitmap, but the final bitmap has not been flipped yet.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.ProcessFinalBitmap(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.6: Non-rendering changes to the bitmap object occur here, such as flipping. The graphics object is unavailable.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.EndProcess(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.7: Layout and rendering are both complete.
            </summary>
            <param name="s"></param>
        </member>
        <member name="T:ImageResizer.Resizing.BoxPadding">
            <summary>
            Represents the widths of edges of a box.
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.BoxPadding.#ctor(System.Double)">
            <summary>
            Create a box with all edges the same width.
            </summary>
            <param name="all"></param>
        </member>
        <member name="M:ImageResizer.Resizing.BoxPadding.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Create a box, specifying individual widths for each size
            </summary>
            <param name="left"></param>
            <param name="top"></param>
            <param name="right"></param>
            <param name="bottom"></param>
        </member>
        <member name="M:ImageResizer.Resizing.BoxPadding.#ctor(ImageResizer.Resizing.BoxPadding)">
            <summary>
            Copies the specified BoxPadding instance
            </summary>
            <param name="original"></param>
        </member>
        <member name="M:ImageResizer.Resizing.BoxPadding.SetAll(System.Double)">
            <summary>
            Sets the width of all edges, returning a new instance
            </summary>
            <param name="all"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Resizing.BoxPadding.All">
            <summary>
            Returns double.NaN unless all edges are the same width, in which case that width is returned
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.BoxPadding.Empty">
            <summary>
            Returns an instance with a width of 0
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.BoxPadding.IsEmpty">
            <summary>
            Returns true if th
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.BoxPadding.GetEdgeOffsets">
            <summary>
            Gets edge offsets as a clockwise array, starting with Top.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Resizing.ImageLayoutEngine">
            <summary>
            Provides a subset of layout logic; specifically determining the crop window, target image size, and (initial) target canvas size.
            </summary>
        </member>
        <member name="T:ImageResizer.Resizing.ImageState">
            <summary>
            Encapsulates the state of an image being resized. 
            Can be used to simulate a resize as well as actually perform one.
            All code should ignore when Bitmaps and Graphics objects are null, and go about simulating all the mathematical functions as normal.
            
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.settings">
            <summary>
            The commands to apply to the bitmap
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.originalSize">
            <summary>
            The original size of the source bitmap. Use this instead of accessing the bitmap directly for this information, since the bitmap may not always be available
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.supportsTransparency">
            <summary>
            Rendering choices can depend on whether the output format supports transparency.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.layout">
            <summary>
            The layout object. Used for calculated and flowing the layout of the various rings around the image (padding, border, effect, margin, etc).
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.destSize">
            <summary>
            The size of the target bitmap image. Set after all sizing operations have completed.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.finalSize">
            <summary>
            The dimensions of the bitmap afer all operations have been applied to it (Calling FlipRotate can change the bitmap dimensions).
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.copyRect">
            <summary>
            The rectangular portion of the source image to copy
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.ImageState.copySize">
            <summary>
            (read-only) Same as copyRect.Size, convenience property.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.sourceBitmap">
            <summary>
            The source bitmap.  If null, skip drawing commands, but continue layout logic.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.preRenderBitmap">
            <summary>
            An optional intermediate bitmap, created by plugins who need to process the source bitmap it gets rendered to destBitmap. If defined, it should be used instead of sourceBitmap during RenderImage(), and disposed immediately after use.
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.ImageState.ConvertIfCMYK">
            <summary>
            If 'sourceBitmap' is CMYK and `preRenderBitmap` is null, converts `sourceBitmap` to RGB and stores in 'preRenderBitmap'
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.ImageState.EnsurePreRenderBitmap">
            <summary>
            Clones 'sourceBitmap' into 'preRenderBitmap' if null.
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.ImageState.ApplyCropping">
            <summary>
            Applies copyRect (if it will have any effect), placing the result in preRenderBitmap, and resetting copyRect
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.ImageState.EnsureRGBA">
            <summary>
            Ensures that the working bitmap is in 32bpp RGBA format - otherwise it is converted.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.destBitmap">
            <summary>
            The destination bitmap.  If null, skip drawing commands, but continue layout logic.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.destGraphics">
            <summary>
            A graphics object to write to the destination bitmap. If null, skip drawing commands, but continue layout logic.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.ImageState.colorMatrix">
            <summary>
            Allows color correction/modification during the image copy.
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.ImageState.Data">
            <summary>
            Allows extensions to store data along with the image state
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.ImageState.Dispose">
            <summary>
            Disposes sourceBitmap, destGraphics, destBitmap, and copyAttributes if they are non-null
            </summary>
        </member>
        <member name="T:ImageResizer.Resizing.BuilderExtension">
            <summary>
            Provides a useable base class that can be used to modify the behavior of ImageBuilder.
            When registered with an ImageBuilder instance, the ImageBuilder will call the corresponding methods on the extension prior to executing its own methods. 
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.LayoutBuilder.PointFlags.Ring">
            <summary>
            This polygon participates in the layout phase, and reserves space when added. Affected by all batch operations. Will be returned by LastRing until a new ring is added. 
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.LayoutBuilder.PointFlags.Invisible">
            <summary>
            Doesn't participate in layout, takes no space, but is affected by batch operations. Will never be returned by LastRing and ignored when calculating bounding boxes.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.LayoutBuilder.PointFlags.Ignored">
            <summary>
            Completely ignored by all operations, left intact.
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.LayoutBuilder.PointSet.PointBehavior">
            <summary>
            How the pointsToTranslate should be translated if they are cropped out of the destination image.
            </summary>
        </member>
        <member name="F:ImageResizer.Resizing.LayoutBuilder.ring">
            <summary>
            An ordered, named collection of polygons.
            pointsToTranslate, imageOuterEdge, imageAreaOuterEdge.
            
            
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.LayoutBuilder.Item(System.String)">
            <summary>
            Access and set the Point[] arrays of rings by key. Case-insensitive.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.Resizing.LayoutBuilder.LastRing">
            <summary>
            Returns the last ring that was added. Only returns PointSets where flags = Ring
            </summary>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.AddRing(System.String,ImageResizer.Resizing.BoxPadding)">
            <summary>
            Inflates the last ring using the specified padding options. Returns the resulting ring object
            </summary>
            <param name="name"></param>
            <param name="padding"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.AddInvisiblePolygon(System.String,System.Drawing.PointF[])">
            <summary>
            Add points this way to see where they will occur on the destination image
            </summary>
            <param name="name"></param>
            <param name="points"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.GetBoundingBox">
            <summary>
            Gets a bounding box that encloses all rings that don't have ExcludeFromBoundingBox set.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.GetRingAsRectF(System.String)">
            <summary>
            Returns a rectangle representing the given ring - if it is an axis-parallel rectangle. Otherwise returns null;
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.Rotate(System.Double,System.Drawing.PointF)">
            <summary>
            Rotates all existing rings (Except those flagged ignore)
            </summary>
            <param name="degrees"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.Normalize(System.Drawing.PointF)">
            <summary> 
            Normalizes all rings and invisible polygons so that the outermost ring's bounding box starts at the specified orign.
            </summary>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.Scale(System.Double,System.Drawing.PointF)">
            <summary>
            Scales all rings and invisible polygons by the specified factor, around the specified point.
            </summary>
            <param name="factor"></param>
            <param name="origin"></param>
        </member>
        <member name="M:ImageResizer.Resizing.LayoutBuilder.Shift(System.Drawing.RectangleF,System.Drawing.RectangleF)">
            <summary>
            Translates and scales all rings and invisible polygons as specified. 
            </summary>
            <param name="from"></param>
            <param name="to"></param>
        </member>
        <member name="T:ImageResizer.Resizing.BitmapTag">
            <summary>
            
            </summary>
        </member>
        <member name="T:ImageResizer.OutputFormat">
            <summary>
            Output image formats
            </summary>
        </member>
        <member name="F:ImageResizer.OutputFormat.Jpeg">
            <summary>
            Jpeg - the best format for photographs and thumbnails
            </summary>
        </member>
        <member name="F:ImageResizer.OutputFormat.Png">
            <summary>
            The best format for transparent images and vector graphics
            </summary>
        </member>
        <member name="F:ImageResizer.OutputFormat.Gif">
            <summary>
            A really poor choice for pretty much everything except animation
            </summary>
        </member>
        <member name="T:ImageResizer.ServerCacheMode">
            <summary>
            When to disk cache the image
            </summary>
        </member>
        <member name="F:ImageResizer.ServerCacheMode.No">
            <summary>
            Request no disk caching of the resulting image.
            </summary>
        </member>
        <member name="F:ImageResizer.ServerCacheMode.Always">
            <summary>
            Request that the resulting image always be disk cached on the server, even if no modifications are made. 
            </summary>
        </member>
        <member name="F:ImageResizer.ServerCacheMode.Default">
            <summary>
            Default caching behavior. Modified images are disk cached, unmodified images are not.
            </summary>
        </member>
        <member name="T:ImageResizer.ProcessWhen">
            <summary>
            When to process and re-encode the file. 
            </summary>
        </member>
        <member name="F:ImageResizer.ProcessWhen.No">
            <summary>
            Request no processing of the image or file (generally used with cache=always).
            The file contents will be used as-is.
            </summary>
        </member>
        <member name="F:ImageResizer.ProcessWhen.Always">
            <summary>
            Require the file or image to be processed. Will cause non-image files to fail with an ImageCorruptedException.
            </summary>
        </member>
        <member name="F:ImageResizer.ProcessWhen.Default">
            <summary>
            Default. Only files with both a supported image extension and resizing settings specified in the querystring will be processed.
            </summary>
        </member>
        <member name="T:ImageResizer.ScaleMode">
            <summary>
            Controls whether the image is allowed to upscale, downscale, both, or if only the canvas gets to be upscaled.
            </summary>
        </member>
        <member name="F:ImageResizer.ScaleMode.DownscaleOnly">
            <summary>
            The default. Only downsamples images - never enlarges. If an image is smaller than 'width' and 'height', the image coordinates are used instead.
            </summary>
        </member>
        <member name="F:ImageResizer.ScaleMode.UpscaleOnly">
            <summary>
            Only upscales (zooms) images - never downsamples except to meet web.config restrictions. If an image is larger than 'width' and 'height', the image coordinates are used instead.
            </summary>
        </member>
        <member name="F:ImageResizer.ScaleMode.Both">
            <summary>
            Upscales and downscales images according to 'width' and 'height', within web.config restrictions.
            </summary>
        </member>
        <member name="F:ImageResizer.ScaleMode.UpscaleCanvas">
            <summary>
            When the image is smaller than the requested size, padding is added instead of stretching the image
            </summary>
        </member>
        <member name="T:ImageResizer.StretchMode">
            <summary>
            [Deprecated (Use FitMode.Stretch)] Previously used to force an image to be 'stretched' to match a different aspect ratio.
            </summary>
        </member>
        <member name="F:ImageResizer.StretchMode.Proportionally">
            <summary>
            [Deprecated (Use FitMode)] Maintains aspect ratio. Default.
            </summary>
        </member>
        <member name="F:ImageResizer.StretchMode.Fill">
            <summary>
            [Deprecated (Use FitMode)] Skews image to fit the new aspect ratio defined by 'width' and 'height'
            </summary>
        </member>
        <member name="T:ImageResizer.FitMode">
            <summary>
            How to resolve aspect ratio differences between the requested size and the original image's size.
            </summary>
        </member>
        <member name="F:ImageResizer.FitMode.None">
            <summary>
            Fit mode will be determined by other settings, such as &amp;carve=true, &amp;stretch=fill, and &amp;crop=auto. If none are specified and width/height are specified , &amp;mode=pad will be used. If maxwidth/maxheight are used, &amp;mode=max will be used.
            </summary>
        </member>
        <member name="F:ImageResizer.FitMode.Max">
            <summary>
            Width and height are considered maximum values. The resulting image may be smaller to maintain its aspect ratio. The image may also be smaller if the source image is smaller
            </summary>
        </member>
        <member name="F:ImageResizer.FitMode.Pad">
            <summary>
            Width and height are considered exact values - padding is used if there is an aspect ratio difference. Use &amp;anchor to override the MiddleCenter default.
            </summary>
        </member>
        <member name="F:ImageResizer.FitMode.Crop">
            <summary>
            Width and height are considered exact values - cropping is used if there is an aspect ratio difference. Use &amp;anchor to override the MiddleCenter default.
            </summary>
        </member>
        <member name="F:ImageResizer.FitMode.Carve">
            <summary>
            Width and height are considered exact values - seam carving is used if there is an aspect ratio difference. Requires the SeamCarving plugin to be installed, otherwise behaves like 'pad'.
            </summary>
        </member>
        <member name="F:ImageResizer.FitMode.Stretch">
            <summary>
            Width and height are considered exact values - if there is an aspect ratio difference, the image is stretched.
            </summary>
        </member>
        <member name="F:ImageResizer.CropMode.None">
            <summary>
            Default. No cropping - uses letterboxing if strecth=proportionally and both width and height are specified.
            </summary>
        </member>
        <member name="F:ImageResizer.CropMode.Auto">
            <summary>
            [Deprecated] Use Mode=Crop. Minimally crops to preserve aspect ratio if stretch=proportionally.
            </summary>
        </member>
        <member name="F:ImageResizer.CropMode.Custom">
            <summary>
            Crops using the custom crop rectangle. Letterboxes if stretch=proportionally and both widht and height are specified.
            </summary>
        </member>
        <member name="F:ImageResizer.CropUnits.SourcePixels">
            <summary>
            Indicates the crop units are pixels on the original image.
            </summary>
        </member>
        <member name="F:ImageResizer.CropUnits.Custom">
            <summary>
            Indicates a custom range is being specified for the values. Base 0.
            </summary>
        </member>
        <member name="T:ImageResizer.FlipMode">
            <summary>
            Horizontal and vertical flipping. Convertible to System.Drawing.RotateFlipType by casting.
            </summary>
        </member>
        <member name="F:ImageResizer.FlipMode.None">
            <summary>
            No flipping
            </summary>
        </member>
        <member name="F:ImageResizer.FlipMode.X">
            <summary>
            Flip horizontally
            </summary>
        </member>
        <member name="F:ImageResizer.FlipMode.Y">
            <summary>
            Flip vertically (identical to 180 degree rotation)
            </summary>
        </member>
        <member name="F:ImageResizer.FlipMode.XY">
            <summary>
            Flip horizontally and vertically
            </summary>
        </member>
        <member name="T:ImageResizer.AnchorLocation">
            <summary>
            Anchor location. Convertible to System.Drawing.ContentAlignment by casting.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.TopLeft">
            <summary>
            Content is vertically aligned at the top, and horizontally aligned on the left.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.TopCenter">
            <summary>
            Content is vertically aligned at the top, and horizontally aligned at the center.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.TopRight">
            <summary>
            Content is vertically aligned at the top, and horizontally aligned on the right.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.MiddleLeft">
            <summary>
            Content is vertically aligned in the middle, and horizontally aligned onthe left.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.MiddleCenter">
            <summary>
            Content is vertically aligned in the middle, and horizontally aligned at the center.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.MiddleRight">
            <summary>
            Content is vertically aligned in the middle, and horizontally aligned on  the right.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.BottomLeft">
            <summary>
            Content is vertically aligned at the bottom, and horizontally aligned on the left.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.BottomCenter">
            <summary>
            Content is vertically aligned at the bottom, and horizontally aligned at  the center.
            </summary>
        </member>
        <member name="F:ImageResizer.AnchorLocation.BottomRight">
            <summary>
            Content is vertically aligned at the bottom, and horizontally aligned on the right.
            </summary>
        </member>
        <member name="T:ImageResizer.GrayscaleMode">
            <summary>
            Modes of converting the image to Grayscale. GrayscaleMode.Y usually produces the best resuts
            </summary>
        </member>
        <member name="F:ImageResizer.GrayscaleMode.Y">
            <summary>
            The reccomended value. Y and NTSC are identical.
            </summary>
        </member>
        <member name="F:ImageResizer.GrayscaleMode.Flat">
            <summary>
            Red, green, and blue are averaged to get the grayscale image. Usually produces poor results compared to other algorithms.
            </summary>
        </member>
        <member name="T:ImageResizer.JpegSubsamplingMode">
            <summary>
            The Jpeg subsampling mode to use. Requires FreeImageEncoder, FreeImageBuilder, WicEncoder, or WicBuilder.
            </summary>
        </member>
        <member name="F:ImageResizer.JpegSubsamplingMode.Default">
            <summary>
            The encoder's default subsampling method will be used.
            </summary>
        </member>
        <member name="F:ImageResizer.JpegSubsamplingMode.Y4Cb1Cr1">
            <summary>
            411 Subsampling - Only supported by FreeImageBuilder and FreeImageEncoder. Poor quality.
            </summary>
        </member>
        <member name="F:ImageResizer.JpegSubsamplingMode.Y4Cb2Cr0">
            <summary>
            420 Subsampling - Commonly used in H262 and H264. Low quality compared to 422 and 444. 
            </summary>
        </member>
        <member name="F:ImageResizer.JpegSubsamplingMode.Y4Cb2Cr2">
            <summary>
            422 Subsampling - Great balance of quality and file size, commonly used in high-end video formats.
            </summary>
        </member>
        <member name="F:ImageResizer.JpegSubsamplingMode.HighestQuality">
            <summary>
            444 subsampling - Highest quality, largest file size.
            </summary>
        </member>
        <member name="F:ImageResizer.JpegSubsamplingMode.Y4Cb4Cr4">
            <summary>
            444 subsampling - Highest quality, largest file size.
            </summary>
        </member>
        <member name="T:ImageResizer.ImageBuilder">
            <summary>
            Provides methods for generating resized images, and for reading and writing them to disk.
            Use ImageBuilder.Current to get the current instance (as configured in the application configuration), or use ImageBuilder.Current.Create() to control which extensions are used.
            </summary>
        </member>
        <member name="M:ImageResizer.ImageBuilder.#ctor">
            <summary>
            Shouldn't be used except to make a factory instance.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageBuilder.EncoderProvider">
            <summary>
            Handles the encoder selection and provision proccess.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageBuilder.SettingsModifier">
            <summary>
            May be null. A class to modify or normalize ResizeSettings instances before they are used.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageBuilder.VirtualFileProvider">
            <summary>
            Provides a resolution service for app-relative URLs. 
            </summary>
        </member>
        <member name="P:ImageResizer.ImageBuilder.Current">
            <summary>
            Returns a shared instance of ImageBuilder or a subclass, equivalent to  Config.Current.CurrentImageBuilder
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.#ctor(System.Collections.Generic.IEnumerable{ImageResizer.Resizing.BuilderExtension},ImageResizer.Encoding.IEncoderProvider,ImageResizer.Plugins.IVirtualImageProvider,ImageResizer.Plugins.ISettingsModifier)">
            <summary>
            Create a new instance of ImageBuilder using the specified extensions, encoder provider, file provider, and settings filter. Extension methods will be fired in the order they exist in the collection.
            </summary>
            <param name="extensions"></param>
            <param name="encoderProvider"></param>
            <param name="settingsModifier"></param>
            <param name="virtualFileProvider"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Create(System.Collections.Generic.IEnumerable{ImageResizer.Resizing.BuilderExtension},ImageResizer.Encoding.IEncoderProvider,ImageResizer.Plugins.IVirtualImageProvider,ImageResizer.Plugins.ISettingsModifier)">
            <summary>
            Creates another instance of the class using the specified extensions. Subclasses should override this and point to their own constructor.
            </summary>
            <param name="extensions"></param>
            <param name="writer"></param>
            <param name="virtualFileProvider"></param>
            <param name="settingsModifier"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Copy">
            <summary>
            Copies the instance along with extensions. Subclasses must override this.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.LoadImage(System.Object,ImageResizer.ResizeSettings)">
            <summary>
            Loads a Bitmap from the specified source. If a filename is available, it will be attached to bitmap.Tag in a BitmapTag instance. The Bitmap.Tag.Path value may be a virtual, relative, UNC, windows, or unix path. 
            Does not dispose 'source' if it is a Stream or Image instance - that's the responsibility of the calling code.
            </summary>
            <param name="source">May  be an instance of string, VirtualFile, IVirtualFile IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream.  If passed an Image instance, the image will be cloned, which will cause metadata, indexed state, and any additional frames to be lost. Accepts physical paths and application relative paths. (C:\... and ~/path) </param>
            <param name="settings">Will ignore ICC profile if ?ignoreicc=true.</param>
            <returns>A Bitmap. The .Tag property will include a BitmapTag instance. If .Tag.Source is not null, remember to dispose it when you dispose the Bitmap.</returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.LoadImageInfo(System.Object,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Returns a dictionary of information about the given image. 
            </summary>
            <param name="source"></param>
            <param name="requestedInfo">Pass null to get the defaults ("source.width", source.height")</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.LoadImage(System.Object,ImageResizer.ResizeSettings,System.Boolean)">
            <summary>
            Loads a Bitmap from the specified source. If a filename is available, it will be attached to bitmap.Tag in a BitmapTag instance. The Bitmap.Tag.Path value may be a virtual, relative, UNC, windows, or unix path. 
            Does not dispose 'source' if it is a Stream or Image instance - that's the responsibility of the calling code.
            </summary>
            <param name="source">May  be an instance of string, VirtualFile, IVirtualFile IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream.  If passed an Image instance, the image will be cloned, which will cause metadata, indexed state, and any additional frames to be lost. Accepts physical paths and application relative paths. (C:\... and ~/path) </param>
            <param name="settings">Will ignore ICC profile if ?ignoreicc=true.</param>
            <param name="restoreStreamPos">If true, the position of the source stream will be restored after being read</param>
            <returns>A Bitmap. The .Tag property will include a BitmapTag instance. If .Tag.Source is not null, remember to dispose it when you dispose the Bitmap.</returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.DecodeStream(System.IO.Stream,ImageResizer.ResizeSettings,System.String)">
            <summary>
            Decodes the stream into a System.Drawing.Bitmap instance. As of 3.0.7, now ensures the stream can safely be closed after the method returns.
            May copy the stream. The copied stream will be in b.Tag.Source. Does not close or dispose any streams.
            </summary>
            <param name="s"></param>
            <param name="settings"></param>
            <param name="optionalPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.GetStreamFromSource(System.Object,ImageResizer.ResizeSettings,System.Boolean@,System.String@,System.Boolean@)">
            <summary>
            For plugin use only. 
            Returns a stream instance from the specified source object and settings object. 
            To exend this method, override GetStream.
            </summary>
            <param name="source">The physical or app-relative path, or a VirtualFile, IVirtualFile, Stream, HttpPostedFile, or HttpPostedFileBase instance.</param>
            <param name="settings">Querystring settings to pass to the VirtualFileProvider</param>
            <param name="disposeStream">You should externally initialize this to true, unless the user-provided 'source' is a Stream instance. Will be set to false for HttpPostedFile and HttpPostedFileBase instances, so they can be reused. </param>
            <param name="path">The physical or virtual path associated with the stream (if present). Otherwise null</param>
            <param name="restoreStreamPosition">True if you should save and restore the seek position of the stream. True for HttpPostedFile and HttpPostedFileBase instances. </param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(System.Object,ImageResizer.ResizeSettings)">
            <summary>
            Resizes and processes the specified source image and returns a bitmap of the result.
            Note! 
            This method assumes that transparency will be supported in the final output format, and therefore does not apply a matte color. Use &amp;bgcolor to specify a background color
            if you use this method with a non-transparent format such as Jpeg.
            If passed a source Stream, Bitmap, or Image instance, it will be disposed after use. Use disposeSource=False to disable that behavior. 
            </summary>
            <param name="source">May be an instance of string (a physical path), VirtualFile, IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream.</param>
            <param name="settings">Resizing and processing command to apply to the.</param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(System.Object,ImageResizer.ResizeSettings,System.Boolean)">
            <summary>
            Resizes and processes the specified source image and returns a bitmap of the result.
            Note! 
            This method assumes that transparency will be supported in the final output format, and therefore does not apply a matte color. Use &amp;bgcolor to specify a background color
            if you use this method with a non-transparent format such as Jpeg.
            
            If passed a source Stream, Bitmap, or Image instance, it will not be disposed unless disposeSource=true.
            </summary>
            <param name="source">May be an instance of string (a physical path), VirtualFile, IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream.</param>
            <param name="settings">Resizing and processing command to apply to the.</param>
            <param name="disposeSource">If false, 'source' will not be disposed. </param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(System.Object,System.Object,ImageResizer.ResizeSettings)">
            <summary>
            Resizes and processes the specified source image and stores the encoded result in the specified destination.
            If passed a source Stream, Bitmap, or Image instance, it will be disposed after use. Use disposeSource=False to disable that behavior. 
            </summary>
            <param name="source">May be an instance of string (a physical path or app-relative virtual path), VirtualFile, IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream. App-relative virtual paths will use the VirtualPathProvider system</param>
            <param name="dest">May be a physical path (string), or a Stream instance. Does not have to be seekable.</param>
            <param name="settings">Resizing and processing command to apply to the image.</param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(System.Object,System.Object,ImageResizer.Instructions)">
            <summary>
            Resizes and processes the specified source image and stores the encoded result in the specified destination.
            If passed a source Stream, Bitmap, or Image instance, it will be disposed after use. Use disposeSource=False to disable that behavior. 
            </summary>
            <param name="source">May be an instance of string (a physical path or app-relative virtual path), VirtualFile, IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream. App-relative virtual paths will use the VirtualPathProvider system</param>
            <param name="dest">May be a physical path (string), or a Stream instance. Does not have to be seekable.</param>
            <param name="instructions">Resizing and processing command to apply to the image.</param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(System.Object,System.Object,ImageResizer.ResizeSettings,System.Boolean)">
            <summary>
            Resizes and processes the specified source image and stores the encoded result in the specified destination. 
            If passed a source Stream, Bitmap, or Image instance, it will not be disposed unless disposeSource=true.
            </summary>
            <param name="source">May be an instance of string (a physical path or app-relative virtual path), VirtualFile, IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream. App-relative virtual paths will use the VirtualPathProvider system</param>
            <param name="dest">May be a physical path (string), or a Stream instance. Does not have to be seekable.</param>
            <param name="settings">Resizing and processing command to apply to the image.</param>
            <param name="disposeSource">True to dispose 'source' after use. False to leave intact.</param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(System.Object,System.Object,ImageResizer.ResizeSettings,System.Boolean,System.Boolean)">
            <summary>
            Resizes and processes the specified source image and stores the encoded result in the specified destination. 
            If passed a source Stream, Bitmap, or Image instance, it will not be disposed unless disposeSource=true.
            If passed a path destination, the physical path of the written file will be returned.
            </summary>
            <param name="source">May be an instance of string (a physical path or app-relative virtual path), VirtualFile, IVirtualBitmapFile, HttpPostedFile, Bitmap, Image, or Stream. App-relative virtual paths will use the VirtualPathProvider system</param>
            <param name="dest">May be a physical path (string), or a Stream instance. Does not have to be seekable.</param>
            <param name="settings">Resizing and processing command to apply to the image.</param>
            <param name="disposeSource">True to dispose 'source' after use. False to leave intact.</param>
            <param name="addFileExtension">If true, will add the correct file extension to 'dest' if it is a string. </param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Build(ImageResizer.ImageJob)">
            <summary>
            The most flexible method for processing an image
            </summary>
            <param name="job"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.BuildJobBitmapToStream(ImageResizer.ImageJob,System.Drawing.Bitmap,System.IO.Stream)">
            <summary>
            Override this when you need to override the behavior of image encoding and/or Bitmap processing
            Not for external use. Does NOT dispose of 'source' or 'source's underlying stream.
            </summary>
            <param name="job"></param>
            <param name="source"></param>
            <param name="dest"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.BuildJobBitmapToBitmap(ImageResizer.ImageJob,System.Drawing.Bitmap,System.Boolean)">
            <summary>
            Override this when you need to override the behavior of Bitmap processing. 
            Not for external use. Does NOT dispose of 'source' or 'source's underlying stream.
            </summary>
            <param name="source"></param>
            <param name="job"></param>
            <param name="transparencySupported">True if the output method will support transparency. If false, the image should be provided a matte color</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Process(ImageResizer.Resizing.ImageState)">
            <summary>
            Processes an ImageState instance. Used by Build, GetFinalSize, and TranslatePoint. 
            Can be overriden by a plugin with the OnProcess method
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Layout(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.3: Handles the layout phase of Processing
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.Render(ImageResizer.Resizing.ImageState)">
            <summary>
            Handles the rendering phase of processing
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.PrepareSourceBitmap(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.1 Switches the bitmap to the correct frame or page, and applies source flipping commands
            </summary>
            <param name="s"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.PrepareDestinationBitmap(ImageResizer.Resizing.ImageState)">
            <summary>
            Creates a bitmap of s.destSize dimensions, intializes a graphics object for it, and configures all the default settings.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.RenderBackground(ImageResizer.Resizing.ImageState)">
            <summary>
            Sets the background color if needed or requested
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.TranslatePoints(System.Drawing.PointF[],System.Drawing.Size,ImageResizer.ResizeSettings)">
            <summary>
            Doesn't support flipping. Translate a point on the original bitmap to a point on the new bitmap. If the original point no longer exists, returns Empty
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.GetFinalSize(System.Drawing.Size,ImageResizer.ResizeSettings)">
            <summary>
            Gets the final size of an image
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.GetFinalSize(System.Drawing.Size,ImageResizer.Instructions)">
            <summary>
            Gets the final size of an image
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.LayoutImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Populates copyRect, as well as Rings image and imageArea. Translates and scales any existing rings as if they existed on the original bitmap.
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.GetSupportedFileExtensions">
            <summary>
            Returns a list of the file extensions ImageBuilder can load by default. Plugins can implement IFileExtensionPlugin to add new ones.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ImageBuilder.GetSupportedQuerystringKeys">
            <summary>
            Returns a list of the querystring commands ImageBuilder can parse by default. Plugins can implement IQuerystringPlugin to add new ones.
            </summary>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.InterceptModule">
            <summary>
            Monitors incoming image requests to determine if resizing (or other processing) is being requested.
            </summary>
        </member>
        <member name="M:ImageResizer.InterceptModule.System#Web#IHttpModule#Init(System.Web.HttpApplication)">
            <summary>
            Called when the app is initialized
            </summary>
            <param name="context"></param>
        </member>
        <member name="P:ImageResizer.InterceptModule.conf">
            <summary>
            Current configuration. Same as Config.Current.Pipeline
            </summary>
        </member>
        <member name="M:ImageResizer.InterceptModule.CheckRequest_PostAuthorizeRequest(System.Object,System.EventArgs)">
            <summary>
            This is where we filter requests and intercept those that want resizing performed.
            We first strip FakeExtension, then verify the remaining file extension is supported for decoding.
            We fire URL rewriting events. If the result includes any supported querystring params afterwards, we process the request. Otherwise we let it fall back to IIS/ASP.NET.
            If the file doesn't exist, we also ignore the request. They're going to cause a 404 anyway.
            
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:ImageResizer.InterceptModule.HandleRequest(System.Web.HttpContext,ImageResizer.Configuration.HttpModuleRequestAssistant,ImageResizer.Plugins.IVirtualFile)">
            <summary>
            Generates the resized image to disk (if needed), then rewrites the request to that location.
            Perform 404 checking before calling this method. Assumes file exists.
            Called during PostAuthorizeRequest
            </summary>
            <param name="context"></param>
            <param name="ra"></param>
            <param name="vf"></param>
        </member>
        <member name="M:ImageResizer.InterceptModule.context_PreSendRequestHeaders(System.Object,System.EventArgs)">
            <summary>
            We don't actually send the data - but we still want to control the headers on the data.
            PreSendRequestHeaders allows us to change the content-type and cache headers at exactly the last moment
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="T:ImageResizer.ImageProcessingException">
            <summary>
            Represents an non-recoverable exception that occured while processing the image. 
            Possible causes are: a corrupted source file, cache resource timeout (such as a locked file in imagecache),
            unusable configuration (for example, no registered encoders or caches), invalid syntax, or a size limit was exceeded and the request was stopped by the SizeLimiting extension.
            May also be caused by a missing source file/resource, in the form of the ImageMissingException subclass.
            </summary>
        </member>
        <member name="P:ImageResizer.ImageProcessingException.PublicSafeMessage">
            <summary>
            This error message is safe to display to the public (should not contain any sensitive information)
            </summary>
        </member>
        <member name="T:ImageResizer.ImageCorruptedException">
            <summary>
            A source file was corrupted
            </summary>
        </member>
        <member name="T:ImageResizer.ImageMissingException">
            <summary>
            One or more source files was missing
            </summary>
        </member>
        <member name="T:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult">
            <summary>
            Wraps a <see cref="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.Task"/>, optionally overriding the State object (since the Task Asynchronous Pattern doesn't normally use it).
            </summary>
            <remarks>Class copied from System.Web.Mvc, but with modifications</remarks>
        </member>
        <member name="M:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.#ctor(System.Threading.Tasks.Task,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult"/> class.
            </summary>
            <param name="task">The <see cref="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.Task"/> to wrap.</param>
            <param name="asyncState">User-defined object that qualifies or contains information about an asynchronous operation.</param>
        </member>
        <member name="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.AsyncState">
            <summary>
            Gets a user-defined object that qualifies or contains information about an asynchronous operation.
            </summary>
            <returns>A user-defined object that qualifies or contains information about an asynchronous operation.</returns>
        </member>
        <member name="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.AsyncWaitHandle">
            <summary>
            Gets a <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.
            </summary>
            <returns>A <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.</returns>
        </member>
        <member name="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.CompletedSynchronously">
            <summary>
            Gets a value indicating whether the asynchronous operation completed synchronously.
            </summary>
            <returns>true if the asynchronous operation completed synchronously; otherwise, false.</returns>
        </member>
        <member name="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.IsCompleted">
            <summary>
            Gets a value indicating whether the asynchronous operation has completed.
            </summary>
            <returns>true if the operation is complete; otherwise, false.</returns>
        </member>
        <member name="P:ImageResizer.Util.AsyncUtils.TaskWrapperAsyncResult.Task">
            <summary>
            Gets the task.
            </summary>
        </member>
        <member name="T:ImageResizer.Util.ParseUtils">
            <summary>
            Provides invariant parsing &amp; serialization of primitive types, like Enums, integers, floats, and booleans.
            </summary>
        </member>
        <member name="F:ImageResizer.Util.ParseUtils.FloatingPointStyle">
            <summary>
            Defines a parsing style that permits leading/trailing whitespace, a leading negitve/postiive sign, decimal points, exponential notation, and a thousands separator
            </summary>
        </member>
        <member name="T:ImageResizer.Util.PathUtils">
            <summary>
            A set of utility methods for manipulating virtual paths
            </summary>
        </member>
        <member name="P:ImageResizer.Util.PathUtils.AppVirtualPath">
            <summary>
            Returns HostingEnvironment.ApplicationVirtualPath or "/", if asp.net is not running
            </summary>
        </member>
        <member name="P:ImageResizer.Util.PathUtils.AppPhysicalPath">
            <summary>
            If not running in ASP.NET, returns the folder containing the DLL.
            </summary>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.SetExtension(System.String,System.String)">
            <summary>
            Should be called SetFullExtension.
            Sets the file extension of the specified path to the specified value, returning the result.
            If an extension has multiple parts, it will replace all of them.
            Leading dots will be stripped from 'newExtension' and re-addd as required.
            The querystring and fragment is maintained as-is. Semicolon syntax not supported.
            </summary>
            <param name="path"></param>
            <param name="newExtension"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.RemoveFullExtension(System.String)">
            <summary>
            Removes all extension segments from the filename or URL, leaving the querystring intact. I.e, image.jpg.bmp.tiff?hi would be image?hi
            The querystring and fragment is maintained as-is. Semicolon syntax not supported.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.RemoveExtension(System.String)">
            <summary>
            Removes the extension from the filename or URL, leaving the querystring intact, where the extension is only the last extension segment.
            I.e, image.jpg.bmp.tiff?hi would be image.jpg.bmp?hi after this call.
            The querystring and fragment is maintained as-is. Semicolon syntax not supported.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.AddExtension(System.String,System.String)">
            <summary>
            Adds the specified extension to path, returning the result. Multiple calls will result in "path.ext.ext.ext.ext".
            The querystring and fragment is maintained as-is. Semicolon syntax not supported.
            </summary>
            <param name="path"></param>
            <param name="newExtension"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.GetFullExtension(System.String)">
            <summary>
            Will return the full extension, like ".jpg.ashx", not just the last bit. 
             Excludes extensions containing spaces or slashes.
             The querystring and fragment is ignored. Semicolon syntax not supported.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.GetExtension(System.String)">
            <summary>
            Grabs the last segment of the filename extension. Returns an empty string if there is no extension, or if the extension contains a space.
            Includes the leading '.'
            The querystring and fragment is ignored. Semicolon syntax not supported.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ResolveAppRelative(System.String)">
            <summary>
            Resolves app-relative paths to virtual paths. Does nothing with virtual or relative paths.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ResolveAppRelativeAssumeAppRelative(System.String)">
            <summary>
            Turns relative paths into domain-relative paths.
            Turns app-relative paths into domain relative paths.
            </summary>
            <param name="virtualPath"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.AddQueryString(System.String,System.String)">
            <summary>
            Joins the path and querystring. If the path already contains a querystring, they are 'append joined' with the correct character. Fragment is maintained as-is. 
            Does not support the semicolon syntax. 
            </summary>
            <param name="virtualPath"></param>
            <param name="querystring"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.RemoveQueryString(System.String)">
            <summary>
            Removes the query string from the specifed path. If the path is only a querystring, an empty string is returned. Does not support the semicolon syntax.  Fragment is maintained as-is.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.MergeOverwriteQueryString(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Overwrites exisisting querystring values in 'path' with the values in 'newQuerystring'. Does not support the semicolon syntax. 
            </summary>
            <param name="path"></param>
            <param name="newQuerystring"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.MergeQueryString(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Adds the querystring values in 'newQuerystring' to the querystring in Path, but does not overwrite values. Does not support the semicolon syntax. 
            </summary>
            <param name="path"></param>
            <param name="newQuerystring"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.BuildQueryString(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Returns a string querystring in the form "?key=value&amp;key=value".
            Keys and values are UrlEncoded as they should be.
            </summary>
            <param name="QueryString"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.BuildQueryString(System.Collections.Specialized.NameValueCollection,System.Boolean)">
            <summary>
            Returns a string querystring in the form "?key=value&amp;key=value".
            Keys and values are UrlEncoded if urlEncode=true.
            </summary>
            <param name="QueryString"></param>
            <param name="urlEncode"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.BuildSemicolonQueryString(System.Collections.Specialized.NameValueCollection,System.Boolean)">
            <summary>
            Returns a string querystring in the form ";key=value;key=value".
            Keys and values are UrlEncoded if urlEncode=true.
            </summary>
            <param name="QueryString"></param>
            <param name="urlEncode"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.BuildQueryString(System.Collections.Specialized.NameValueCollection,System.Boolean,System.Boolean,System.Char,System.Char,System.Char)">
            <summary>
            Build a customized querystring from a NameValueCollection
            </summary>
            <param name="QueryString"></param>
            <param name="urlEncode">True to URL encode all values</param>
            <param name="skipNullValues">If true, null-valued keys will be skipped</param>
            <param name="firstSeparator">Usually ? or ; </param>
            <param name="laterSeparators">Usually &amp; or ;</param>
            <param name="equals">Always =</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryStringFriendly(System.String)">
            <summary>
            Like ParseQueryString, but permits the leading '?' to be omitted. Does not support the semicolon syntax.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryStringFriendlyAllowSemicolons(System.String)">
            <summary>
            Like ParseQueryString, but permits the leading '?' to be omitted, and semicolons can be substituted for '&amp;'
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryString(System.String)">
            <summary>
            Parses the querystring from the given path into a NameValueCollection. 
            accepts "file?key=value" and "?key=value&amp;key2=value2" formats. (no path is required)
            UrlDecodes keys and values.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryString(System.String,System.Boolean)">
            <summary>
            Parses the querystring from the given path into a NameValueCollection. 
            accepts "file?key=value" and "?key=value&amp;key2=value2" formats. (no path is required)
            UrlDecodes keys and values. Does not enforce correct syntax, I.E. '?key=value?key2=value2' is allowed. However, '&amp;key=value?key2=value' will only get key2 parsed. 
            When allowSemicolons is true, semicolon paths like ';key=value;key2=value2' are allowed, as are hybrid paths: ';key=value?key2=value2&amp;key3=value3'.
            </summary>
            <param name="path"></param>
            <param name="allowSemicolons"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryString(System.String,System.Boolean,System.String@,System.String@)">
            <summary>
            Parses the querystring from the given path into a NameValueCollection. 
            accepts "file?key=value" and "?key=value&amp;key2=value2" formats. (no path is required)
            UrlDecodes keys and values. Does not enforce correct syntax, I.E. '?key=value?key2=value2' is allowed. However, '&amp;key=value?key2=value' will only get key2 parsed. 
            When allowSemicolons is true, semicolon paths like ';key=value;key2=value2' are allowed, as are hybrid paths: ';key=value?key2=value2&amp;key3=value3'.
            
            Does NOT parse fragments correctly.
            </summary>
            <param name="path"></param>
            <param name="allowSemicolons"></param>
            <param name="beforeQuery">Returns the portion of the 'path' before the querystring. May include the scheme, server, port, path and path info, depending upon what 'path' contained.</param>
            <param name="fragment"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryOnly(System.String,System.Boolean,System.Boolean)">
            <summary>
            Parses a querystring into a name/value collection. The given string cannot include path or fragment information - it must be *just* the querystring.
            </summary>
            <param name="query"></param>
            <param name="allowSemicolons"></param>
            <param name="urlDecode"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ToBase64U(System.Byte[])">
            <summary>
            Converts aribtrary bytes to a URL-safe version of base64 (no = padding, with - instead of + and _ instead of /)
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.FromBase64UToBytes(System.String)">
            <summary>
            Converts a URL-safe version of base64 to a byte array.  (no = padding, with - instead of + and _ instead of /)
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ToBase64U(System.String)">
            <summary>
            Converts aribtrary strings to a URL-safe version of base64 (no = padding, with - instead of + and _ instead of /)
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.FromBase64UToString(System.String)">
            <summary>
            Converts a URL-safe version of base64 to a string. 64U is (no = padding, with - instead of + and _ instead of /)
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.MapPathIfAppRelative(System.String)">
            <summary>
            Returns the physcial mapped path for the specified virtual path if it starts with ~, otherwise retuns the original path.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.GenerateImageUrl(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Generates a resized image url for the specified physical or virtual path. 
            Not CloudFront compatible. Does not support remote URLs, use RemoteReader for that.
            If you're running in IIS classic, add ".ashx" to the 'path' parameter. 
            </summary>
            <param name="path"></param>
            <param name="query"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.GuessVirtualPath(System.String)">
            <summary>
            Attempts to guess the virtual path from physical path. Will be thrwarted if the path is mapped as a virtual folder inside the application.
            If the path is a non-physical path, it will be returned as is.
            Returns null if the physical path isn't a subfolder of the application's physical path.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ResolveVariablesInPath(System.String,ImageResizer.Util.PathUtils.VariableResolverCallback)">
            <summary>
            Replaces variables in paths with their values. Ex. ~/uploads/thumbs/&lt;guid>.&lt;ext>.
            Standard variables are &lt;ext> (the default extension for the final file type), &lt;guid>, a randomly generated GUID, 
            &lt;filename>, the original filename without it's extension, &lt;path>, the original path and filename without extension, 
            &lt;settings.width>, (any specified settings value except preset), &lt;width> (final width), and &lt;height> (final height).
            
            </summary>
            <param name="pathWithVars"></param>
            <param name="resolver"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.RemoveNonMatchingChars(System.String,System.String)">
            <summary>
            Allows a string to be filtered using the specified whitelisting expression (regex style). 
            
            I.e, "hi YOU 3", "a-z3" will produce "hi3". 
            </summary>
            <param name="text"></param>
            <param name="chars"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Util.PathUtils.VariableResolverCallback">
            <summary>
            A method that resolves variable names to values for the ResolveVariablesInPath method
            </summary>
            <param name="variableName"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.FilterQueryString(ImageResizer.ResizeSettings,System.String[])">
            <summary>
            Returns a new collection containing only the specified keys from the old one
            </summary>
            <param name="query"></param>
            <param name="keepKeys"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.HasIOPermission(System.String[])">
            <summary>
            Returns true if the current AppDomain has unrestricted .NET FileIOPermission to the given paths. 
            Does NOT check NTFS permissions; that's completely separate.
            </summary>
            <param name="paths"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Util.PolygonMath">
            <summary>
            Defines a collection of utility functions for manipulating polygons. These functions may be (re)moved in future releases; be prepared. 
            </summary>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.RoundPoints(System.Drawing.PointF[])">
            <summary>
            Rounds the elements of the specified array [not used]
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.RoundPoints(System.Drawing.PointF[0:,0:])">
            <summary>
            Rounds the elements of the specified array [not used]
            </summary>
            <param name="a"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ForEach(System.Array,ImageResizer.Util.PolygonMath.ForEachFunction)">
            <summary>
            Modifies the specified array by applying the specified function to each element.
            </summary>
            <param name="a"></param>
            <param name="func">object delegate(object o){}</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.RotatePoly(System.Drawing.PointF[],System.Double)">
            <summary>
            Rotates the specified polygon (or set of points) around the origin. 
            </summary>
            <param name="poly"></param>
            <param name="degrees"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.RotatePoly(System.Drawing.PointF[],System.Double,System.Drawing.PointF)">
            <summary>
            Rotates the specified polygon (or set of points) around the origin. 
            </summary>
            <param name="poly"></param>
            <param name="degrees"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ToPoly(System.Drawing.RectangleF)">
            <summary>
            Returns a clockwise array of points on the rectangle.
            Point 0 is top-left.
            </summary>
            <param name="rect"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.NormalizePoly(System.Drawing.PointF[])">
            <summary>
            Moves the polygon so that the upper-left corner of its bounding box is located at 0,0.
            </summary>
            <param name="poly"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.RotateVector(System.Drawing.PointF,System.Double)">
            <summary>
            Rotates the specified point around the origin.
            </summary>
            <param name="v"></param>
            <param name="radians"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.RotateVector(System.Drawing.PointF,System.Double,System.Drawing.PointF)">
            <summary>
            Rotates the specified point around the specified origin.
            </summary>
            <param name="v"></param>
            <param name="radians"></param>
            <param name="origin"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ChangeMagnitude(System.Drawing.PointF,System.Single)">
            <summary>
            Returns a modified version of the specified vector with the desired length.
            </summary>
            <param name="v"></param>
            <param name="length"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetBoundingBox(System.Drawing.PointF[])">
            <summary>
            Returns a bounding box for the specified set of points.
            </summary>
            <param name="points"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetBoundingBox(System.Double[])">
            <summary>
            Returns a bounding box for the specified set of points. Odd points are Y values, even points are X values
            </summary>
            <param name="flattenedPoints"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.MovePoly(System.Drawing.PointF[],System.Drawing.PointF)">
            <summary>
            Returns a modified version of the array, with each element being offset by the specified amount.
            </summary>
            <param name="points"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ArraysEqual(System.Drawing.PointF[],System.Drawing.PointF[])">
            <summary>
            Returns true if the member elements of the specified arrays match, and the arrays 
            are of the same length.
            </summary>
            <param name="a1"></param>
            <param name="a2"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.getParallelogram(System.Drawing.PointF[])">
            <summary>
            Moves element 4 to spot 3 and truncates to 3 elements.
            For compatiblity with Graphics.DrawImage
            </summary>
            <param name="quad"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.getParallelogramSize(System.Drawing.PointF[])">
            <summary>
            Determines the width and height of the paralellogram.
            </summary>
            <param name="p"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetSubArray(System.Drawing.PointF[0:,0:],System.Int32)">
            <summary>
            Grabs a single-dimension array from a 2 dimensional array, using the specified primary index.
            </summary>
            <param name="array"></param>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GenerateRadialBrush(System.Drawing.Color,System.Drawing.Color,System.Drawing.PointF,System.Single)">
            <summary>
            Approximates a radial brush using a high-rez PathGradientBrush.
            </summary>
            <param name="inner"></param>
            <param name="outer"></param>
            <param name="pt"></param>
            <param name="width"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ScaleInside(System.Drawing.SizeF,System.Drawing.SizeF)">
            <summary>
            Scales 'inner' to fit inside 'bounding' while maintaining aspect ratio. Upscales and downscales.
            </summary>
            <param name="inner"></param>
            <param name="bounding"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ScaleOutside(System.Drawing.SizeF,System.Drawing.SizeF)">
            <summary>
            Scales 'outer' to be equal or larger than 'innerBounds' while maintaining aspect ratio. Upscales and downscales.
            </summary>
            <param name="innerBounds"></param>
            <param name="outer"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.DownScaleInside(System.Drawing.SizeF,System.Drawing.SizeF)">
            <summary>
            Scales 'inner' to fit inside 'bounding' while maintaining aspect ratio. Only downscales.
            </summary>
            <param name="inner"></param>
            <param name="bounding"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.FitsInside(System.Drawing.SizeF,System.Drawing.SizeF)">
            <summary>
            Returns true if 'inner' fits inside or equals 'outer'
            </summary>
            <param name="inner"></param>
            <param name="outer"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetCorners(System.Drawing.PointF[],System.Single)">
             <summary>
             Returns an array of parallelograms. These parallelgrams are the 'corners' outside each vertex in 'poly'.
             The adjacent edges are perpendicular to 'poly'. Point 1 of each parallelogram will match the respective point in 'poly'
             Points are clockwise.
            
             TODO - some rounding issues going on, not exact numbers here
             </summary>
             <param name="poly"></param>
             <param name="width"></param>
             <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetCorners(System.Drawing.PointF[],System.Single[])">
            <summary>
            Returns an array of parallelograms. These parallelgrams are the 'corners' outside each vertex in 'poly'.
            The adjacent edges are perpendicular to 'poly'. Point 1 of each parallelogram will match the respective point in 'poly'
            Points are clockwise.
            
            Each float in widths[] corresponds to the point in poly[]. This is the distance to go perpendicularly from 
            the line beween poly[i] and poly[i +1].
            
            </summary>
            <param name="poly"></param>
            <param name="widths"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetSides(System.Drawing.PointF[],System.Single)">
            <summary>
            Returns an array of parallelograms. These parallelgrams are the 'sides' bounding the polygon.
            Points are clockwise. Point 1 is the top-left outer point, point 2 the top-right, point 3 the bottom-right, and point 4 the bottom-left.
            </summary>
            <param name="poly"></param>
            <param name="width"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.InflatePoly(System.Drawing.PointF[],System.Single)">
            <summary>
            Expands all sides on the specified polygon by the specified offset. Assumes the polygon is concave.
            Returns a new polygon
            </summary>
            <param name="poly"></param>
            <param name="offset"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.InflatePoly(System.Drawing.PointF[],System.Single[])">
            <summary>
            Expands all sides on the specified polygon by the specified offsets. Assumes the polygon is concave.
            Returns a new polygon.
            
            </summary>
            <param name="poly"></param>
            <param name="offsets">An array the same size as poly[], with the distances to expand the edges. Edges are between i and i+1</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.CenterInside(System.Drawing.PointF[],System.Drawing.PointF[])">
            <summary>
            Moves 'inner' so that the center of its bounding box equals the center of the bounding box of 'outer'
            </summary>
            <param name="inner"></param>
            <param name="outer"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.CenterInside(System.Drawing.SizeF,System.Drawing.RectangleF)">
            <summary>
            Creates a rectangle of size 'size' with a center matching that of bounds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ToRectangle(System.Drawing.RectangleF)">
            <summary>
            Rounds a floating-point rectangle to an integer rectangle using System.Round
            </summary>
            <param name="r"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ToRectangleShrinkRound(System.Drawing.RectangleF)">
            <summary>
            Round a floating-point rectangle by apply ceil to x/y and floor to width/height
            </summary>
            <param name="r"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.AlignWith(System.Drawing.RectangleF,System.Drawing.RectangleF,System.Drawing.ContentAlignment)">
            <summary>
            Aligns the specified rectangle object with its reference ('container') rectangle using the specified alignment. The container can be smaller than 'obj'.
            </summary>
            <param name="obj"></param>
            <param name="container"></param>
            <param name="align"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.AlignWith(System.Drawing.PointF[],System.Drawing.PointF[],System.Drawing.ContentAlignment)">
            <summary>
            Aligns the specified polygon with its container (reference) polygon using the specified alignment. The container can be smaller than 'obj'.
            </summary>
            <param name="obj"></param>
            <param name="container"></param>
            <param name="align"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.Average(System.Drawing.PointF,System.Drawing.PointF)">
            <summary>
            Returns a point equidistant beweteen A and B
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.IsUnrotated(System.Drawing.PointF[])">
            <summary>
            Verifies that the specified 4 points are not rotated - that each point shares either the x or y coordinate with the previous point
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetShortestPair(System.Drawing.PointF[])">
            <summary>
            Returns the length of the shortest line segment in the given polygon.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.Dist(System.Drawing.PointF,System.Drawing.PointF)">
            <summary>
            Returns the distance between two points
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.NormalizeTo90Intervals(System.Double)">
            <summary>
            Normalizes the given angle to a positive multiple of 90 degrees between 0 and 270.
            </summary>
            <param name="d"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.CombineFlipAndRotate(ImageResizer.FlipMode,System.Double)">
            <summary>
            Combines the given flipping info and rotation angle into a RotateFlipType value. Rotation angle will snap to nearest 90-degree multiple
            </summary>
            <param name="flip"></param>
            <param name="angle"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.GetCroppingRectangle(System.Double[],System.Double,System.Double,System.Drawing.SizeF)">
            <summary>
            Used for converting custom crop rectangle coordinates into a valid cropping rectangle. Positive values are relative to 0,0, negative values relative to width, height.
            X2 and Y2 values of 0 become width and height respectively. 
            </summary>
            <param name="cropValues">An array of 4 elements defining x1, y1, x2, and y2 of the cropping rectangle</param>
            <param name="xunits">The width x1 and x2 are relative to</param>
            <param name="yunits">The height y1 and y2 are relative to</param>
            <param name="imageSize">The size of the uncropped image</param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ClipRectangle(System.Drawing.RectangleF,System.Drawing.RectangleF)">
            <summary>
            Returns 'box' clipped to be within 'bounds'
            </summary>
            <param name="box"></param>
            <param name="bounds"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ExpandTo(System.Drawing.RectangleF,System.Drawing.SizeF)">
            <summary>
            Expands the given rectangle to be the given size while keeping it centered.
            </summary>
            <param name="box"></param>
            <param name="copySize"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PolygonMath.ScaleRect(System.Drawing.RectangleF,System.Double,System.Double)">
            <summary>
            Expands the given rectangle using the specified scale multipliers, leaving it centered
            </summary>
            <param name="rect"></param>
            <param name="ExpandX"></param>
            <param name="ExpandY"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Util.SeekableStreamWrapper">
            <summary>
            A Stream utility class that helps to provide seekability to any source
            stream.
            </summary>
        </member>
        <member name="M:ImageResizer.Util.SeekableStreamWrapper.FromStream(System.IO.Stream)">
            <summary>
            Returns a seekable stream for a given source stream.  If wrapped,
            the source stream will be disposed when the returned stream is.
            </summary>
            <param name="sourceStream">The stream to wrap or return.</param>
            <returns>If the source stream is already seekable, it is returned
            unwrapped.  If not, it is wrapped in a <c>SeekableStreamWrapper</c>.</returns>
        </member>
        <member name="M:ImageResizer.Util.SeekableStreamWrapper.FromStream(System.IO.Stream,System.Boolean@)">
            <summary>
            Returns a seekable stream for a given source stream.  If wrapped,
            the source stream will be disposed when the returned stream is.
            </summary>
            <param name="sourceStream">The stream to wrap or return.</param>
            <param name="disposeStream">Whether to dispose the source stream
            when the wrapper is disposed.  If a wrapper is created, this
            parameter will be <c>true</c> on the return to ensure the wrapper
            gets properly disposed.</param>
            <returns>If the source stream is already seekable, it is returned
            unwrapped.  If not, it is wrapped in a <c>SeekableStreamWrapper</c>.</returns>
        </member>
        <member name="M:ImageResizer.Util.SeekableStreamWrapper.Dispose(System.Boolean)">
            <summary>
            Disposes the seekable stream wrapper, and the wrapped stream if
            originally requested.
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="P:ImageResizer.Util.SeekableStreamWrapper.CanWrite">
            <summary>
            Gets whether the stream wrapper can be written to or not.
            This is only <c>true</c> while the wrapper is being initialized, and
            otherwise <c>false</c> for all other callers.
            </summary>
        </member>
        <member name="M:ImageResizer.Util.Utils.parseList(System.String,System.Double)">
            <summary>
            Parses lists in the form "3,4,5,2,5" and "(3,4,40,50)". If a number cannot be parsed (i.e, number 2 in "5,,2,3") defaultValue is used.
            </summary>
            <param name="text"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.Utils.copyStream(System.IO.Stream,System.IO.Stream)">
            <summary>
            Copies all remaining data from 'source' to 'dest'
            </summary>
            <param name="source"></param>
            <param name="dest"></param>
        </member>
        <member name="M:ImageResizer.Util.Utils.parseFlip(System.String)">
            <summary>
            Returns RotateNoneFlipNone if not a recognized value.
            </summary>
            <param name="sFlip"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.Utils.parseRotate(System.String)">
            <summary>
            Returns 0 if not a recognized value. Rounds the value to 0, 90, 180, or 270
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.Utils.writeFlip(System.Drawing.RotateFlipType)">
            <summary>
            Throws an exception if the specified value is unsupported. Rotation values are not supported, and should be specified with the Rotate or srcRotate command.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.Utils.parsePadding(System.String)">
            <summary>
            Parses padding, allowing syntax (all) and (left, top, right, bottom). Parens are optional.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.Utils.DrawOuterGradient(System.Drawing.Graphics,System.Drawing.PointF[],System.Drawing.Color,System.Drawing.Color,System.Single)">
            <summary>
            Draws a gradient around the specified polygon. Fades from 'inner' to 'outer' over a distance of 'width' pixels. 
            </summary>
            <param name="g"></param>
            <param name="poly"></param>
            <param name="inner"></param>
            <param name="outer"></param>
            <param name="width"></param>
        </member>
        <member name="T:ImageResizer.ResizeSettings">
            <summary>
            Represents the settings which will be used to process the image. 
            Extends NameValueCollection to provide friendly property names for commonly used settings.
            Replaced by the Instructions class. Will be removed in V4.0
            </summary>
        </member>
        <member name="M:ImageResizer.ResizeSettings.#ctor">
            <summary>
            Creates an empty settings collection. 
            </summary>
        </member>
        <member name="M:ImageResizer.ResizeSettings.#ctor(System.Collections.Specialized.NameValueCollection)">
            <summary>
            Copies the specified collection into a new ResizeSettings instance.
            </summary>
            <param name="col"></param>
        </member>
        <member name="M:ImageResizer.ResizeSettings.#ctor(System.String)">
            <summary>
            Parses the specified querystring into name/value pairs. leading ? not required.
            Discards everything after the first '#' character as a URL fragment.
            </summary>
            <param name="queryString"></param>
        </member>
        <member name="M:ImageResizer.ResizeSettings.#ctor(System.Collections.Specialized.NameValueCollection,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Merges the specified collection with a set of defaults into a new
            ResizeSettings instance.
            </summary>
            <param name="col"></param>
            <param name="defaultSettings"></param>
        </member>
        <member name="M:ImageResizer.ResizeSettings.#ctor(System.String,System.Collections.Specialized.NameValueCollection)">
            <summary>
            Parses the specified querystring into name/value pairs and merges
            it with defaultSettings in a new ResizeSettings instance.
            </summary>
            <param name="queryString"></param>
            <param name="defaultSettings"></param>
        </member>
        <member name="M:ImageResizer.ResizeSettings.#ctor(System.Int32,System.Int32,ImageResizer.FitMode,System.String)">
            <summary>
            Creates a new resize settings object with the specified resizing settings
            </summary>
            <param name="width"></param>
            <param name="height"></param>
            <param name="mode"></param>
            <param name="imageFormat">The desired image format, like 'jpg', 'gif', or 'png'. Leave null if you want to preserve the original format.</param>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Width">
            <summary>
            ["width"]: Sets the desired width of the image. (minus padding, borders, margins, effects, and rotation). 
            The only instance the resulting image will be smaller is if the original source image is smaller. 
            Set Scale=Both to upscale these images and ensure the output always matches 'width' and 'height'. 
            If both width and height are specified, the image will be 'letterboxed' to match the desired aspect ratio. 
            Change the Mode property to adjust this behavior.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Height">
            <summary>
            ["height"]: Sets the desired height of the image.  (minus padding, borders, margins, effects, and rotation)
            The only instance the resulting image will be smaller is if the original source image is smaller. 
            Set Scale=Both to upscale these images and ensure the output always matches 'width' and 'height'. 
            If both width and height are specified, the image will be 'letterboxed' to match the desired aspect ratio. 
            Change the Mode property to adjust this behavior.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.MaxWidth">
            <summary>
            ["maxwidth"]: Sets the maximum desired width of the image.  (minus padding, borders, margins, effects, and rotation). 
            The image may be smaller than this value to maintain aspect ratio when both maxwidth and maxheight are specified.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Quality">
            <summary>
            ["quality"]: The jpeg encoding quality to use. (10..100). 90 is the default and best value, you should leave it.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.MaxHeight">
            <summary>
            ["maxheight"]: Sets the maximum desired height of the image.  (minus padding, borders, margins, effects, and rotation). 
            The image may be smaller than this value to maintain aspect ratio when both maxwidth and maxheight are specified.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Mode">
            <summary>
            ["mode"]: Sets the fit mode for the image. max, min, pad, crop, carve, stretch
            </summary>
        </member>
        <member name="M:ImageResizer.ResizeSettings.WasOneSpecified(System.String[])">
            <summary>
            Returns true if any of the specified keys are present in this NameValueCollection
            </summary>
            <param name="keys"></param>
            <returns></returns>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Rotate">
            <summary>
            ["rotate"] The degress to rotate the image clockwise. -360 to 360.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Anchor">
            <summary>
            How to anchor the image when cropping or adding whitespace to meet sizing requirements.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Flip">
            <summary>
            Allows you to flip the entire resulting image vertically, horizontally, or both. Rotation is not supported.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.SourceFlip">
            <summary>
            ["sFlip"] Allows you to flip the source image vertically, horizontally, or both. Rotation is not supported.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Scale">
            <summary>
            ["scale"] Whether to downscale, upscale, upscale the canvas, or both upscale or downscale the image as needed. Defaults to
            DownscaleOnly. See the DefaultSettings plugin to adjust the default.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Stretch">
            <summary>
            [Deprecated] (Replaced by mode=stretch) Whether to preserve aspect ratio or stretch to fill the bounds.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Cache">
            <summary>
            ["cache"]: Server caching mode suggestion for the result
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Process">
            <summary>
            ["process"]: Server processing suggestion for the result. Allows you to 'disable' processing of the image (so you can use disk caching with non-image files). Allows you to 'force' processing of the image, for images without a querystring.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.CropMode">
            <summary>
            ["crop"]=none|auto Defaults to None - letterboxing is used if both width and height are supplied, and stretch = proportionally.
            Set CropTopLeft and CropBottomRight when you need to specify a custom crop rectangle.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.CropValues">
            <summary>
            4 values specify x1,y1,x2,y2 values for the crop rectangle.
            Negative values are relative to the bottom right - on a 100x100 picture, (10,10,90,90) is equivalent to (10,10,-10,-10). And (0,0,0,0) is equivalent to (0,0,100,100).
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.CropTopLeft">
            <summary>
            ["crop"]=([x1],[y1],x2,y2). Sets x1 and y21, the top-right corner of the crop rectangle. If 0 or greater, the coordinate is relative to the top-left corner of the image.
            If less than 0, the value is relative to the bottom-right corner. This allows for easy trimming: crop=(10,10,-10,-10).
            Set ["cropxunits"] and ["cropyunits"] to the width/height of the rectangle your coordinates are relative to, if different from the original image size.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.CropBottomRight">
            <summary>
            ["crop"]=(x1,y1,[x2],[y2]). Sets x2 and y2, the bottom-right corner of the crop rectangle. If 1 or greater, the coordinate is relative to the top-left corner of the image.
            If 0 or less, the value is relative to the bottom-right corner. This allows for easy trimming: crop=(10,10,-10,-10).
            Set ["cropxunits"] and ["cropyunits"] to the width/height of the rectangle your coordinates are relative to, if different from the original image size.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.BackgroundColor">
            <summary>
            ["bgcolor"]: Named and hex values are supported. (rgb and rgba, both 3, 6, and 8 digits).
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.PaddingColor">
            <summary>
            Gets/sets ["paddingColor"]. Named and hex values are supported. (rgb and rgba, both 3, 6, and 8 digits).
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Padding">
            <summary>
            ["paddingWidth"]: Gets/sets the width(s) of padding inside the image border.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Margin">
            <summary>
            ["margin"]: Gets/sets the width(s) of the margin outside the image border and effects.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.BorderColor">
            <summary>
            Gets/sets ["borderColor"]. Named and hex values are supported. (rgb and rgba, both 3, 6, and 8 digits).
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Border">
            <summary>
            Friendly get/set accessor for the ["borderWidth"] value. Returns BoxPadding.Empty when unspecified.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.Format">
            <summary>
            Like this["format"]. 
            Gets or sets the output file format to use. "png", "jpg", and "gif" are valid values.
            Returns null if unspecified. When format is not specified, the original format of the image is used (unless it is not a web safe format  - jpeg is the fallback in that scenario).
            <remarks>Also checks the 'thumbnail' value for V2 compatibility. When set, 'thumnail' is removed and only 'format' is used.
            </remarks>
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.CropXUnits">
            <summary>
            The width which the X and X2 crop values should be applied. For example, a value of '100' makes X and X2 percentages of the original image width.
            This can be set to any non-negative value. Very useful for performing cropping when the original image size is unknown.
            0 indicates that the crop values are relative to the original size of the image.
            </summary>
        </member>
        <member name="P:ImageResizer.ResizeSettings.CropYUnits">
            <summary>
            The width which the Y and Y2 crop values should be applied. For example, a value of '100' makes Y and Y2 percentages of the original image height.
            This can be set to any non-negative  value. Very useful for performing cropping when the original image size is unknown.
            0 indicates that the crop values are relative to the original size of the image.
            </summary>        
        </member>
        <member name="M:ImageResizer.ResizeSettings.SetDefaultImageFormat(System.String)">
            <summary>
            If 'thumbnail' and 'format' are not specified, sets 'format' to the specified value.
            </summary>
            <param name="format"></param>
        </member>
        <member name="M:ImageResizer.ResizeSettings.ToString">
            <summary>
            Returns a string containing all the settings in the class, in querystring form. Use ToStringEncoded() to get a URL-safe querystring. 
            This method does not encode commas, spaces, etc.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ResizeSettings.ToStringEncoded">
            <summary>
            Returns a querystring with all the settings in this class. Querystring keys and values are URL encoded properly.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.ResizeSettings.Normalize">
            <summary>
            This method will 'normalize' command aliases to the primary key name and resolve duplicates. 
            w->width, h->height, sourceFlip->sFlip, thumbnail->format
            </summary>
        </member>
        <member name="M:ImageResizer.ResizeSettings.Normalize(System.String,System.String)">
            <summary>
            Normalizes a command that has two possible names. 
            If either of the commands has a null or empty value, those keys are removed. 
            If both the primary and secondary are present, the secondary is removed. 
            Otherwise, the secondary is renamed to the primary name.
            </summary>
            <param name="primary"></param>
            <param name="secondary"></param>
        </member>
    </members>
</doc>
