Skip to content

Commit 9d34c2c

Browse files
Merge branch 'main' into feature/fileproviderimageprovider
2 parents c1cf049 + 249be0d commit 9d34c2c

16 files changed

Lines changed: 502 additions & 308 deletions

samples/ImageSharp.Web.Sample/wwwroot/index.html

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -272,59 +272,59 @@ <h2>EXIF Handling Portrait</h2>
272272
<p>Demonstrates that the middleware handles EXIF orientation correctly for portrait images.</p>
273273
<div>
274274
<p>
275-
<code>Portrait_0.jpg?width=60&height=50&rxy=0.25,0.25</code>
275+
<code>Portrait_0.jpg?width=60&height=50&rxy=0.69,0.37</code>
276276
</p>
277-
<p><img src="Portrait_0.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
277+
<p><img src="Portrait_0.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
278278
</div>
279279
<div>
280280
<p>
281-
<code>Portrait_1.jpg?width=60&height=50&rxy=0.25,0.25</code>
281+
<code>Portrait_1.jpg?width=60&height=50&rxy=0.69,0.37</code>
282282
</p>
283-
<p><img src="Portrait_1.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
283+
<p><img src="Portrait_1.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
284284
</div>
285285
<div>
286286
<p>
287-
<code>Portrait_2.jpg?width=60&height=50&rxy=0.25,0.25</code>
287+
<code>Portrait_2.jpg?width=60&height=50&rxy=0.69,0.37</code>
288288
</p>
289-
<p><img src="Portrait_2.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
289+
<p><img src="Portrait_2.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
290290
</div>
291291

292292
<div>
293293
<p>
294-
<code>Portrait_3.jpg?width=60&height=50&rxy=0.25,0.25</code>
294+
<code>Portrait_3.jpg?width=60&height=50&rxy=0.69,0.37</code>
295295
</p>
296-
<p><img src="Portrait_3.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
296+
<p><img src="Portrait_3.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
297297
</div>
298298
<div>
299299
<p>
300-
<code>Portrait_4.jpg?width=60&height=50&rxy=0.25,0.25</code>
300+
<code>Portrait_4.jpg?width=60&height=50&rxy=0.69,0.37</code>
301301
</p>
302-
<p><img src="Portrait_4.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
302+
<p><img src="Portrait_4.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
303303
</div>
304304
<div>
305305
<p>
306-
<code>Portrait_5.jpg?width=60&height=50&rxy=0.25,0.25</code>
306+
<code>Portrait_5.jpg?width=60&height=50&rxy=0.69,0.37</code>
307307
</p>
308-
<p><img src="Portrait_5.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
308+
<p><img src="Portrait_5.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
309309
</div>
310310

311311
<div>
312312
<p>
313-
<code>Portrait_6.jpg?width=60&height=50&rxy=0.25,0.25</code>
313+
<code>Portrait_6.jpg?width=60&height=50&rxy=0.69,0.37</code>
314314
</p>
315-
<p><img src="Portrait_6.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
315+
<p><img src="Portrait_6.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
316316
</div>
317317
<div>
318318
<p>
319-
<code>Portrait_7.jpg?width=60&height=50&rxy=0.25,0.25</code>
319+
<code>Portrait_7.jpg?width=60&height=50&rxy=0.69,0.37</code>
320320
</p>
321-
<p><img src="Portrait_7.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
321+
<p><img src="Portrait_7.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
322322
</div>
323323
<div>
324324
<p>
325-
<code>Portrait_8.jpg?width=60&height=50&rxy=0.25,0.25</code>
325+
<code>Portrait_8.jpg?width=60&height=50&rxy=0.69,0.37</code>
326326
</p>
327-
<p><img src="Portrait_8.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
327+
<p><img src="Portrait_8.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
328328
</div>
329329
</section>
330330

@@ -639,59 +639,59 @@ <h2>EXIF Handling : Landscape</h2>
639639
<p>Demonstrates that the middleware handles EXIF orientation correctly for landscape images.</p>
640640
<div>
641641
<p>
642-
<code>Landscape_0.jpg?width=60&height=50&rxy=0.25,0.25</code>
642+
<code>Landscape_0.jpg?width=60&height=50&rxy=0.69,0.37</code>
643643
</p>
644-
<p><img src="Landscape_0.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
644+
<p><img src="Landscape_0.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
645645
</div>
646646
<div>
647647
<p>
648-
<code>Landscape_1.jpg?width=60&height=50&rxy=0.25,0.25</code>
648+
<code>Landscape_1.jpg?width=60&height=50&rxy=0.69,0.37</code>
649649
</p>
650-
<p><img src="Landscape_1.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
650+
<p><img src="Landscape_1.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
651651
</div>
652652
<div>
653653
<p>
654-
<code>Landscape_2.jpg?width=60&height=50&rxy=0.25,0.25</code>
654+
<code>Landscape_2.jpg?width=60&height=50&rxy=0.69,0.37</code>
655655
</p>
656-
<p><img src="Landscape_2.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
656+
<p><img src="Landscape_2.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
657657
</div>
658658

659659
<div>
660660
<p>
661-
<code>Landscape_3.jpg?width=60&height=50&rxy=0.25,0.25</code>
661+
<code>Landscape_3.jpg?width=60&height=50&rxy=0.69,0.37</code>
662662
</p>
663-
<p><img src="Landscape_3.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
663+
<p><img src="Landscape_3.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
664664
</div>
665665
<div>
666666
<p>
667-
<code>Landscape_4.jpg?width=60&height=50&rxy=0.25,0.25</code>
667+
<code>Landscape_4.jpg?width=60&height=50&rxy=0.69,0.37</code>
668668
</p>
669-
<p><img src="Landscape_4.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
669+
<p><img src="Landscape_4.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
670670
</div>
671671
<div>
672672
<p>
673-
<code>Landscape_5.jpg?width=60&height=50&rxy=0.25,0.25</code>
673+
<code>Landscape_5.jpg?width=60&height=50&rxy=0.69,0.37</code>
674674
</p>
675-
<p><img src="Landscape_5.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
675+
<p><img src="Landscape_5.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
676676
</div>
677677

678678
<div>
679679
<p>
680-
<code>Landscape_6.jpg?width=60&height=50&rxy=0.25,0.25</code>
680+
<code>Landscape_6.jpg?width=60&height=50&rxy=0.69,0.37</code>
681681
</p>
682-
<p><img src="Landscape_6.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
682+
<p><img src="Landscape_6.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
683683
</div>
684684
<div>
685685
<p>
686-
<code>Landscape_7.jpg?width=60&height=50&rxy=0.25,0.25</code>
686+
<code>Landscape_7.jpg?width=60&height=50&rxy=0.69,0.37</code>
687687
</p>
688-
<p><img src="Landscape_7.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
688+
<p><img src="Landscape_7.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
689689
</div>
690690
<div>
691691
<p>
692-
<code>Landscape_8.jpg?width=60&height=50&rxy=0.25,0.25</code>
692+
<code>Landscape_8.jpg?width=60&height=50&rxy=0.69,0.37</code>
693693
</p>
694-
<p><img src="Landscape_8.jpg?width=60&height=50&rxy=0.25,0.25" /></p>
694+
<p><img src="Landscape_8.jpg?width=60&height=50&rxy=0.69,0.37" /></p>
695695
</div>
696696
</section>
697697

src/ImageSharp.Web/Caching/PhysicalFileSystemCache.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ internal static string GetCacheRoot(PhysicalFileSystemCacheOptions cacheOptions,
7878

7979
string cacheFolderPath = Path.Combine(cacheRootPath, cacheOptions.CacheFolder);
8080

81-
return PathUtils.EnsureTrailingSlash(cacheFolderPath);
81+
return PathUtilities.EnsureTrailingSlash(cacheFolderPath);
8282
}
8383

8484
/// <inheritdoc/>

src/ImageSharp.Web/Commands/Converters/ArrayConverter{T}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp.Web.Commands.Converters
1313
/// Converts the value of a string to a generic array.
1414
/// </summary>
1515
/// <typeparam name="T">The parameter type to convert to.</typeparam>
16-
internal sealed class ArrayConverter<T> : ICommandConverter<T[]>
16+
public sealed class ArrayConverter<T> : ICommandConverter<T[]>
1717
{
1818
/// <inheritdoc/>
1919
public Type Type => typeof(T[]);

src/ImageSharp.Web/Commands/Converters/ColorConverter.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ namespace SixLabors.ImageSharp.Web.Commands.Converters
1313
/// <summary>
1414
/// Allows the conversion of strings into rgba32 pixel colors.
1515
/// </summary>
16-
internal class ColorConverter : ICommandConverter<Color>
16+
public sealed class ColorConverter : ICommandConverter<Color>
1717
{
1818
/// <summary>
1919
/// The web color hexadecimal regex. Matches strings arranged
2020
/// in rgb, rgba, rrggbb, or rrggbbaa format to match web syntax.
2121
/// </summary>
22-
private static readonly Regex HexColorRegex = new Regex("([0-9a-fA-F]{3}){1,2}", RegexOptions.Compiled);
22+
private static readonly Regex HexColorRegex = new("([0-9a-fA-F]{3}){1,2}", RegexOptions.Compiled);
2323

2424
/// <summary>
2525
/// The number color regex.
2626
/// </summary>
27-
private static readonly Regex NumberRegex = new Regex(@"\d+", RegexOptions.Compiled);
27+
private static readonly Regex NumberRegex = new(@"\d+", RegexOptions.Compiled);
2828

2929
/// <summary>
3030
/// The color constants table map.
3131
/// </summary>
32-
private static readonly Lazy<IDictionary<string, Color>> ColorConstantsTable = new Lazy<IDictionary<string, Color>>(InitializeColorConstantsTable);
32+
private static readonly Lazy<IDictionary<string, Color>> ColorConstantsTable = new(InitializeColorConstantsTable);
3333

3434
/// <inheritdoc/>
3535
public Type Type => typeof(Color);

src/ImageSharp.Web/Commands/Converters/EnumConverter.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ namespace SixLabors.ImageSharp.Web.Commands.Converters
1111
/// <summary>
1212
/// The enum converter. Allows conversion to enumerations.
1313
/// </summary>
14-
internal sealed class EnumConverter : ICommandConverter<object>
14+
public sealed class EnumConverter : ICommandConverter<object>
1515
{
16+
/// <inheritdoc/>
1617
public Type Type => typeof(Enum);
1718

1819
/// <inheritdoc/>

src/ImageSharp.Web/Commands/Converters/IntegralNumberConverter{T}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Web.Commands.Converters
1010
/// The generic converter for integral types.
1111
/// </summary>
1212
/// <inheritdoc/>
13-
internal sealed class IntegralNumberConverter<T> : ICommandConverter<T>
13+
public sealed class IntegralNumberConverter<T> : ICommandConverter<T>
1414
where T : struct, IConvertible, IComparable<T>
1515
{
1616
/// <inheritdoc/>

src/ImageSharp.Web/Commands/Converters/ListConverter{T}.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ namespace SixLabors.ImageSharp.Web.Commands.Converters
1313
/// Converts the value of a string to a generic list.
1414
/// </summary>
1515
/// <typeparam name="T">The type of result to return.</typeparam>
16-
internal sealed class ListConverter<T> : ICommandConverter<List<T>>
16+
public sealed class ListConverter<T> : ICommandConverter<List<T>>
1717
{
18+
/// <inheritdoc/>
1819
public Type Type => typeof(List<T>);
1920

2021
/// <inheritdoc/>

0 commit comments

Comments
 (0)