本文整理汇总了C#中Rectangle.Match方法的典型用法代码示例。如果您正苦于以下问题:C# Rectangle.Match方法的具体用法?C# Rectangle.Match怎么用?C# Rectangle.Match使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rectangle
的用法示例。
在下文中一共展示了Rectangle.Match方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FocalResize
/// <summary>
/// Resizes the image around a focal point
/// Crops the image to the aspect ratio with the focal point as close to center as possible.
/// Will not stretch the image to the width and height since this will just be a bigger picture with the same details.
/// </summary>
/// <param name="image">The image to run the macro on</param>
/// <param name="x">The horizontal position of the focal point</param>
/// <param name="y">The y position of the focal point</param>
/// <param name="width">The width of the resulting image</param>
/// <param name="height">The height of the resulting image</param>
/// <param name="sourceWidth">The original image width</param>
/// <param name="sourceHeight">The original image height</param>
/// <returns></returns>
public static ImgixImage FocalResize(this ImgixImage image, int x, int y, int width,
int height, int sourceWidth, int sourceHeight)
{
var resizeRectangle = new Rectangle(width, height);
var imageRectangle = new Rectangle(sourceWidth, sourceHeight);
var cropRectangle = resizeRectangle.Match(imageRectangle);
var croppedImage = image.FocalCrop(x, y, cropRectangle.Width, cropRectangle.Height, sourceWidth,
sourceHeight);
return !imageRectangle.CanHold(resizeRectangle) ? croppedImage : croppedImage.Width(width).Height(height);
}
示例2: Given_a_smaller_target_the_result_will_still_have_the_same_aspect
public void Given_a_smaller_target_the_result_will_still_have_the_same_aspect()
{
var target = new Rectangle(40, 20);
var subject = new Rectangle(30, 30);
var result = subject.Match(target);
Assert.True(result.Height / result.Width == 1);
}
示例3: Given_a_smaller_in_height_target_it_will_return_a_rectangle_that_matches_on_height
public void Given_a_smaller_in_height_target_it_will_return_a_rectangle_that_matches_on_height()
{
var target = new Rectangle(4, 2);
var subject = new Rectangle(3, 3);
var result = subject.Match(target);
Assert.AreEqual(target.Height, result.Height);
}
示例4: Given_a_smaller_in_height_target_it_will_return_a_rectangle_that_fits_within_target
public void Given_a_smaller_in_height_target_it_will_return_a_rectangle_that_fits_within_target()
{
var target = new Rectangle(4, 2);
var subject = new Rectangle(3, 3);
var result = subject.Match(target);
Assert.True(target.CanHold(result));
}
示例5: Given_a_narrower_target_it_will_return_a_rectangle_that_matches_on_width
public void Given_a_narrower_target_it_will_return_a_rectangle_that_matches_on_width()
{
var target = new Rectangle(2, 4);
var subject = new Rectangle(3, 3);
var result = subject.Match(target);
Assert.AreEqual(target.Width, result.Width);
}
示例6: Given_a_larger_target_it_will_return_a_rectangle_of_same_aspect_ratio_maxed_inside_target
public void Given_a_larger_target_it_will_return_a_rectangle_of_same_aspect_ratio_maxed_inside_target()
{
var target = new Rectangle(4, 4);
var subject = new Rectangle(3, 3);
var result = subject.Match(target);
Assert.True(result.Height == 4 && result.Width == 4);
}