Exemplo n.º 1
0
        public override void CopyFrom(IImageReaderWriter sourceImage,
                                      RectInt sourceImageRect,
                                      int destXOffset,
                                      int destYOffset)
        {
            RectInt destRect = sourceImageRect;

            destRect.Offset(destXOffset, destYOffset);
            RectInt clippedSourceRect = new RectInt();

            if (clippedSourceRect.IntersectRectangles(destRect, m_ClippingRect))
            {
                // move it back relative to the source
                clippedSourceRect.Offset(-destXOffset, -destYOffset);
                base.CopyFrom(sourceImage, clippedSourceRect, destXOffset, destYOffset);
            }
        }
Exemplo n.º 2
0
        public void CopyFrom(IBitmapSrc 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);
                }
            }
        }
Exemplo n.º 3
0
 public override void CopyFrom(IImageReaderWriter sourceImage,
                RectInt sourceImageRect,
                int destXOffset,
                int destYOffset)
 {
     RectInt destRect = sourceImageRect;
     destRect.Offset(destXOffset, destYOffset);
     RectInt clippedSourceRect = new RectInt();
     if (clippedSourceRect.IntersectRectangles(destRect, m_ClippingRect))
     {
         // move it back relative to the source
         clippedSourceRect.Offset(-destXOffset, -destYOffset);
         base.CopyFrom(sourceImage, clippedSourceRect, destXOffset, destYOffset);
     }
 }