<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ImageResizer</name>
    </assembly>
    <members>
        <member name="T:ImageResizer.Plugins.IVirtualFile">
            <summary>
            A virtual file. Implementing this allows usage of your VirtualProvider without registering it with ASP.NET
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.IVirtualFile.Open">
            <summary>
            Returns an opened stream to the file contents.
            </summary>
            <returns></returns>
        </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="T:ImageResizer.Plugins.Basic.Trial">
            <summary>
            Can be used by plugins to implement 'trial version' functionality. Not currently used.
            </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="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>
            <param name="dest"></param>
            <param name="settings"></param>
        </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.buildToStream(System.Drawing.Bitmap,System.IO.Stream,ImageResizer.ResizeSettings)">
            <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="settings"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.buildToBitmap(System.Drawing.Bitmap,ImageResizer.ResizeSettings,System.Boolean)">
            <summary>
            Most calls funnel through here. Default behavior configures an ImageState instance and calls Process(imageState); 
            Shouldn't be overriden for any reason I can think of - use the appropriate virtual method under Process().
            If an extension returns a Bitmap instance, it will be used instead of the default behavior.
            Does NOT dispose of 'source' or 'source's underlying stream.
            </summary>
            <param name="source"></param>
            <param name="settings"></param>
            <param name="transparencySupported"></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.RenderImage(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).9: 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).10: 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).11: The border is rendered
            </summary>
            <param name="s"></param>
        </member>
        <member name="M:ImageResizer.Resizing.AbstractImageProcessor.PostRenderBorder(ImageResizer.Resizing.ImageState)">
            <summary>
            Process.5(Render).12: 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).13: 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).14: 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).15: 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).16: 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).17: 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.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="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.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="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="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.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.ResponseArgs">
            <summary>
            IResponseArgs implementation
            </summary>
        </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>
            A delegate that returns the modified date of the source data.
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.IResponseArgs.HasModifiedDate">
            <summary>
            True if a modified date is available for verifying cache integrity.
            </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="P:ImageResizer.Caching.ResponseArgs.GetModifiedDateUTC">
            <summary>
            A callback method to return the last modified date of the source file if available, or DateTime.MinValue if not.
            </summary>
            <returns></returns>
        </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>
            True if the source file/record has a modified date
            </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.Resizing.BitmapTag">
            <summary>
            
            </summary>
        </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)
            </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.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.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="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.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="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="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="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="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="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="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.ISettingsModifier.Modify(ImageResizer.ResizeSettings)">
            <summary>
            Implementations should support being called on their own result multiple result without behavioral differences.
            </summary>
            <param name="settings"></param>
            <returns></returns>
        </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="T:ImageResizer.Configuration.PluginConfig">
            <summary>
            Provides thread-safe access to plugin addition, removal, and querying methods
            </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="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="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.loadPluginsInternal">
            <summary>
            Not thread safe. Performs actual work.
            </summary>
        </member>
        <member name="M:ImageResizer.Configuration.PluginConfig.GetPlugins(System.Type)">
            <summary>
            Returns the subset of AllPlugins which implement the specified type or interface
            </summary>
            <param name="type"></param>
            <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.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.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.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.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="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.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="searchName"></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="P:ImageResizer.Configuration.PluginConfig.PluginsLoaded">
            <summary>
            Returns true if the &lt;plugins&gt; section has been processed
            </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="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 file exists.
            </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="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="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.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="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.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.PipelineConfig._cacheUrlData">
            <summary>
            Populates the cache if it is empty. Not thread safe.
            </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.
            </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="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="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="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.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="P:ImageResizer.Configuration.PipelineConfig.FakeExtensions">
            <summary>
            Cached access to pipeline.fakeExtensions
            </summary>
        </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="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 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="P:ImageResizer.Configuration.PipelineConfig.ModuleInstalled">
            <summary>
            True once the InterceptModule has been installed and is intercepting 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="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="F:ImageResizer.Resizing.LayoutBuilder.ring">
            <summary>
            An ordered, named collection of polygons.
            pointsToTranslate, imageOuterEdge, imageAreaOuterEdge.
            
            
            </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.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.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="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="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="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="M:ImageResizer.Resizing.BoxPadding.GetEdgeOffsets">
            <summary>
            Gets edge offsets as a clockwise array, starting with Top.
            </summary>
            <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="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 private
            </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="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="T:ImageResizer.Plugins.Basic.VirtualFolder">
            <summary>
            Functions exactly like an IIS virtual folder, but doesn't require IIS configuration.
            </summary>
        </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="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="M:ImageResizer.Plugins.Basic.VirtualFolder.VirtualToPhysical(System.String)">
            <summary>
            Converts a 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.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="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="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="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.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>
            <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.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="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.Attrs">
            <summary>
            Attributes
            </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="P:ImageResizer.Configuration.Xml.Node.IsEmpty">
            <summary>
            Returns true if the element has neither attributes nor children.
            </summary>
        </member>
        <member name="M:ImageResizer.Util.StreamUtils.CopyTo(System.IO.Stream,System.IO.Stream)">
            <summary>
            Copies a read stream to a write stream.
            </summary>
            <param name="src"></param>
            <param name="dest"></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.ServerCacheMode">
            <summary>
            When to disk cache the image
            </summary>
        </member>
        <member name="F:ImageResizer.ServerCacheMode.No">
            <summary>
            Request no caching of the resulting image.
            </summary>
        </member>
        <member name="F:ImageResizer.ServerCacheMode.Always">
            <summary>
            Request that the resulting image always be 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 cached, unmodified images are not cached.
            </summary>
        </member>
        <member name="T:ImageResizer.ProcessWhen">
            <summary>
            When to process and re-encode the image. 
            </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 do deal with 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>
        <!-- Badly formed XML comment ignored for member "F:ImageResizer.FitMode.Pad" -->
        <!-- Badly formed XML comment ignored for member "F:ImageResizer.FitMode.Crop" -->
        <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.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="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="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="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.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="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,System.String,System.Collections.Specialized.NameValueCollection,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="virtualPath"></param>
            <param name="queryString"></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 excatly the last
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="P:ImageResizer.InterceptModule.conf">
            <summary>
            Current configuration. Same as Config.Current.Pipeline
            </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.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.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="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="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="T:ImageResizer.Plugins.Basic.DropShadow">
            <summary>
            Adds drop shadow capabilities (shadowColor, shadowOffset, and shadowWidth commands)
            </summary>
        </member>
        <member name="P:ImageResizer.Caching.ResponseHeaders.ContentType">
            <summary>
            The mime-type of the encoded image. Defaults to null
            </summary>
        </member>
        <member name="M:ImageResizer.ImageJob.Build">
            <summary>
            Shorthand method for ImageBuilder.Current.Build(this)
            </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>
            <param name="originalWidth">Leave 0 if unavailable</param>
            <param name="originalHeight">Leave 0 if unavailable</param>
            <param name="builder">Leave null if unavailable</param>
            <returns></returns>
        </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.Settings">
            <summary>
            The image processing settings
            </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>
        <!-- Badly formed XML comment ignored for member "P:ImageResizer.ImageJob.AllowDestinationPathVariables" -->
        <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.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="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="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.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="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="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="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="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="request"></param>
            <returns></returns>
        </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.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.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>
            <param name="sizeF"></param>
            <param name="imgBounds"></param>
            <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.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>
            <param name="pointF"></param>
            <returns></returns>
        </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="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="M:ImageResizer.ImageBuilder.#ctor">
            <summary>
            Shouldn't be used except to make a factory instance.
            </summary>
        </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>
        </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>
            <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.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.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.buildToStream(System.Drawing.Bitmap,System.IO.Stream,ImageResizer.ResizeSettings)">
            <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="source"></param>
            <param name="dest"></param>
            <param name="settings"></param>
        </member>
        <member name="M:ImageResizer.ImageBuilder.buildToBitmap(System.Drawing.Bitmap,ImageResizer.ResizeSettings,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="settings"></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.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="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.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="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="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="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="T:ImageResizer.Plugins.Basic.ImageHandlerSyntax">
            <summary>
            Adds URL syntax support for http://webimageresizer.codeplex.com/, 
            http://imagehandler.codeplex.com/, http://bbimagehandler.codeplex.com/, http://dynamicimageprocess.codeplex.com/, 
            and http://bip.codeplex.com/
            </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>
            <param name="sFlip"></param>
            <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="M:ImageResizer.Util.PathUtils.SetExtension(System.String,System.String)">
            <summary>
            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.
            </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
            </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.
            </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".
            maintains the querystring as-is.
            </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. 
            Ignores the querystring part. Excludes extensions containing spaces or slashes.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.GetExtension(System.String)">
            <summary>
            Ignores the querystring. 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 '.'
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ResolveAppRelative(System.String)">
            <summary>
            
            </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.
            </summary>
            <param name="virtualPath"></param>
            <param name="querystring"></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'. Doesn't support ; querystrings
            </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. Doesn't support ; querystrings
            </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.RemoveQueryString(System.String)">
            <summary>
            Removes the query string from the specifed path. If the path is only a querystring, an empty string is returned.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.PathUtils.ParseQueryStringFriendly(System.String)">
            <summary>
            Like ParseQueryString, but permits the leading '?' to be omitted.
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:ImageResizer.Util.PathUtils.ParseQueryStringFriendlyAllowSemicolons(System.String)" -->
        <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.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.FromBase64UToButes(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="variables"></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="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="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="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="M:ImageResizer.Util.UrlHasher.hash(System.String,System.Int32,System.String)">
            <summary>
            Builds a key for the cached version, using the hashcode of the normalized URL.
            if subfolders > 1, dirSeparator will be used to separate the subfolder and the key. 
            No extension is appended.
            I.e, a13514\124211ab132592 or 12412ababc12141
            </summary>
            <param name="data"></param>
            <param name="subfolders"></param>
            <param name="dirSeparator"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Util.UrlHasher.getSubfolder(System.Byte[],System.Int32)">
            <summary>
            Returns a string for the subfolder name. The bits used are from the end of the hash - this should make
            the hashes in each directory more unique, and speed up performance (8.3 filename calculations are slow when lots of files share the same first 6 chars.
            Returns null if not configured. Rounds subfolders up to the nearest power of two.
            </summary>
            <param name="hash"></param>
            <param name="subfolders"></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.ResizeSettings">
            <summary>
            Represents the settings which will be used to process the image. 
            Extends NameValueCollection to provide friendly property names for commonly used settings.
            </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.
            </summary>
            <param name="queryString"></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="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="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="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. 
            Use maxwidth/maxheight, crop=auto, or stretch=fill to avoid 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. 
            Use maxwidth/maxheight, crop=auto, or stretch=fill to avoid 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="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 when maxwidth/maxheight is used, and Both when width/height are used.
            </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="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="T:ImageResizer.Plugins.Basic.NoCacheHandler">
            <summary>
            Implements IHttpHandler, serves content for the NoCache plugin
            </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 so layout isn't disrupted.
            For example, missingimage.jpg?404=image.jpg&amp;width=200
            with the default setting &lt;image404 baseDir="~/" /&gt; will redirect to ~/image.jpg?width=200.
            You may also configure 'variables', which is the reccomended approach.
            Ex. &lt;image404 propertyImageDefault="~/images/nophoto.png" /&gt; and use them like so: missingimage.jpg?404=propertImageDefault?width=200 -> ~/images/nophoto.png?width=200.
            Querystring values in the variable value take precedence. For example, 
            Ex. &lt;image404 propertyImageDefault="~/images/nophoto.png?format=png" /&gt; and missingimage.jpg?format=jpg&amp;404=propertImageDefault?width=200 -> ~/images/nophoto.png?format=png&amp;width=200.
            </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="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.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.copyAttibutes">
            <summary>
            Allows color correction/modification during the image copy.
            </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="P:ImageResizer.Resizing.ImageState.copySize">
            <summary>
            (read-only) Same as copyRect.Size, convenience property.
            </summary>
        </member>
        <member name="P:ImageResizer.Resizing.ImageState.Data">
            <summary>
            Allows extensions to store data along with the image state
            </summary>
        </member>
    </members>
</doc>
