private void CopyToXyzw(PixelArea <TColor> area, int sourceX, int sourceY, int width, int height) { for (int y = 0; y < height; y++) { BufferSpan <TColor> source = this.GetRowSpan(sourceX, sourceY + y); BufferSpan <byte> destination = area.GetRowSpan(y); Operations.ToXyzwBytes(source, destination, width); } }
private void CopyToZyxw(PixelArea <TPixel> area, int sourceX, int sourceY, int width, int height) { for (int y = 0; y < height; y++) { Span <TPixel> source = this.GetRowSpan(sourceX, sourceY + y); Span <byte> destination = area.GetRowSpan(y); Operations.ToZyxwBytes(source, destination, width); } }
private void CopyFromXyzw(PixelArea <TColor> area, int targetX, int targetY, int width, int height) { for (int y = 0; y < height; y++) { BufferSpan <byte> source = area.GetRowSpan(y); BufferSpan <TColor> destination = this.GetRowSpan(targetX, targetY + y); Operations.PackFromXyzwBytes(source, destination, width); } }
private void CopyFromZyx(PixelArea <TPixel> area, int targetX, int targetY, int width, int height) { for (int y = 0; y < height; y++) { Span <byte> source = area.GetRowSpan(y); Span <TPixel> destination = this.GetRowSpan(targetX, targetY + y); Operations.PackFromZyxBytes(source, destination, width); } }