IntersectRectangles() public method

public IntersectRectangles ( RectInt rectToCopy, RectInt rectToIntersectWith ) : bool
rectToCopy RectInt
rectToIntersectWith RectInt
return bool
コード例 #1
0
        public void CopyFrom(IImageReaderWriter sourceImage, RectInt sourceImageRect, int destXOffset, int destYOffset)
        {
            RectInt sourceImageBounds      = sourceImage.GetBounds();
            RectInt clippedSourceImageRect = new RectInt();

            if (clippedSourceImageRect.IntersectRectangles(sourceImageRect, sourceImageBounds))
            {
                RectInt destImageRect = clippedSourceImageRect;
                destImageRect.Offset(destXOffset, destYOffset);
                RectInt destImageBounds      = GetBounds();
                RectInt clippedDestImageRect = new RectInt();
                if (clippedDestImageRect.IntersectRectangles(destImageRect, destImageBounds))
                {
                    // we need to make sure the source is also clipped to the dest. So, we'll copy this back to source and offset it.
                    clippedSourceImageRect = clippedDestImageRect;
                    clippedSourceImageRect.Offset(-destXOffset, -destYOffset);
                    CopyFromNoClipping(sourceImage, clippedSourceImageRect, destXOffset, destYOffset);
                }
            }
        }
コード例 #2
0
 public void CopyFrom(IImageReaderWriter sourceImage, RectInt sourceImageRect, int destXOffset, int destYOffset)
 {
     RectInt sourceImageBounds = sourceImage.GetBounds();
     RectInt clippedSourceImageRect = new RectInt();
     if (clippedSourceImageRect.IntersectRectangles(sourceImageRect, sourceImageBounds))
     {
         RectInt destImageRect = clippedSourceImageRect;
         destImageRect.Offset(destXOffset, destYOffset);
         RectInt destImageBounds = GetBounds();
         RectInt clippedDestImageRect = new RectInt();
         if (clippedDestImageRect.IntersectRectangles(destImageRect, destImageBounds))
         {
             // we need to make sure the source is also clipped to the dest. So, we'll copy this back to source and offset it.
             clippedSourceImageRect = clippedDestImageRect;
             clippedSourceImageRect.Offset(-destXOffset, -destYOffset);
             CopyFromNoClipping(sourceImage, clippedSourceImageRect, destXOffset, destYOffset);
         }
     }
 }