當前位置: 首頁>>代碼示例>>C#>>正文


C# Point.SetX方法代碼示例

本文整理匯總了C#中System.Point.SetX方法的典型用法代碼示例。如果您正苦於以下問題:C# Point.SetX方法的具體用法?C# Point.SetX怎麽用?C# Point.SetX使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Point的用法示例。


在下文中一共展示了Point.SetX方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: FocalCrop

 /// <summary>
 /// Crops the image around a focal point.
 /// Will try and center on the focal point if possible, but if the crop falls outside the area of the image it will adjust.
 /// Keeps the aspect of the crop.
 /// </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 area to crop</param>
 /// <param name="height">The height of the area to crop</param>
 /// <param name="sourceWidth">The original image width</param>
 /// <param name="sourceHeight">The original image height</param>
 /// <returns></returns>
 public static ImgixImage FocalCrop(this ImgixImage image, int x, int y, int width, int height, int sourceWidth,
     int sourceHeight)
 {
     var cropRectangle = new Rectangle(width, height);
     var imageRectangle = new Rectangle(sourceWidth, sourceHeight);
     if (!imageRectangle.CanHold(cropRectangle))
     {
         cropRectangle = cropRectangle.EnsureFit(imageRectangle);
     }
     var cropTopLeftCorner = new Point(x-cropRectangle.Width/2, y-cropRectangle.Height/2);
     var cropBottomRightCorner = new Point(cropTopLeftCorner.X + cropRectangle.Width, cropTopLeftCorner.Y + cropRectangle.Height);
     //Adjust x position
     if (cropTopLeftCorner.X < 0)
     {
         cropTopLeftCorner = cropTopLeftCorner.SetX(0);
     }
     else if (cropBottomRightCorner.X > sourceWidth)
     {
         cropTopLeftCorner = cropTopLeftCorner.SetX(sourceWidth - cropRectangle.Width);
     }
     //Adjust y position
     if (cropTopLeftCorner.Y < 0)
     {
         cropTopLeftCorner = cropTopLeftCorner.SetY(0);
     }
     else if (cropBottomRightCorner.Y > sourceHeight)
     {
         cropTopLeftCorner = cropTopLeftCorner.SetY(sourceHeight - cropRectangle.Height);
     }
     return image.Rect(cropTopLeftCorner.X, cropTopLeftCorner.Y, cropRectangle.Width, cropRectangle.Height);
 }
開發者ID:estei,項目名稱:Imgix-Dotnet,代碼行數:44,代碼來源:FocalExtensions.cs


注:本文中的System.Point.SetX方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。