/// Switches the buffers used by the image and the pixelSource meaning that the Image will "own" the buffer from the pixelSource and the pixelSource will now own the Images buffer.
/// Switches the buffers used by the image and the pixelSource meaning that the Image will "own" the buffer from the pixelSource and the pixelSource will now own the Images buffer.
// We will always be creating the clone even for mutate because thats the way this base processor works
// ------------
// For resize we know we are going to populate every pixel with fresh data and we want a different target size so
// let's manually clone an empty set of images at the correct target and then have the base class processs them in turn.
varframes=source.Frames.Select(x=>newImageFrame<TPixel>(this.Width,this.Height,x.MetaData.Clone()));// this will create places holders
IEnumerable<ImageFrame<TPixel>>frames=source.Frames.Select(x=>newImageFrame<TPixel>(this.Width,this.Height,x.MetaData.Clone()));// this will create places holders
varimage=newImage<TPixel>(config,this.Width,this.Height,source.MetaData.Clone(),frames);// base the place holder images in to prevet a extra frame being added