mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.2 KiB
29 lines
1.2 KiB
// <copyright file="RectangleExtensions.cs" company="James Jackson-South">
|
|
// Copyright (c) James Jackson-South and contributors.
|
|
// Licensed under the Apache License, Version 2.0.
|
|
// </copyright>
|
|
|
|
namespace ImageSharp.Drawing
|
|
{
|
|
using System;
|
|
|
|
/// <summary>
|
|
/// Extension methods for helping to bridge Shaper2D and ImageSharp primitives.
|
|
/// </summary>
|
|
internal static class RectangleExtensions
|
|
{
|
|
/// <summary>
|
|
/// Converts a Shaper2D <see cref="SixLabors.Shapes.Rectangle"/> to an ImageSharp <see cref="Rectangle"/> by creating a <see cref="Rectangle"/> the entirely surrounds the source.
|
|
/// </summary>
|
|
/// <param name="source">The image this method extends.</param>
|
|
/// <returns>A <see cref="Rectangle"/> representation of this <see cref="SixLabors.Shapes.Rectangle"/></returns>
|
|
public static Rectangle Convert(this SixLabors.Shapes.Rectangle source)
|
|
{
|
|
int left = (int)MathF.Floor(source.Left);
|
|
int right = (int)MathF.Ceiling(source.Right);
|
|
int top = (int)MathF.Floor(source.Top);
|
|
int bottom = (int)MathF.Ceiling(source.Bottom);
|
|
return new Rectangle(left, top, right - left, bottom - top);
|
|
}
|
|
}
|
|
}
|