Just in case others have the trouble I had...
CopyRec takes a part of one canvas, copies it to somewhere on another canvas.
Crudely put in pseudocode...
DestCanvas.CopyRec(DestArea, SourceCanvas, SourceArea)
... will copy TO "DestCanvas".
The copy will be pasted into "DestArea"
What is copied...
comes from "SourceCanvas"
and will be just the "SourceArea" part of that.
The areas are specifiec with 4 numbers:
The X and Y of the areas left(X), upper (Y) corner, in pixels,
from the left upper corner of the canvas being copied from,
... and ...
The LENGTHS of the area's width (X) and height.
---
Expanding upon how the area is specified:
15,35,40,40 would NOT be a rectangle with corners at (15,35) and (40,40)
It's left upper corner WOULD be at (15,35), but the right lower corner would be
at (55,75)
---
If the dimensions of the destination are different from those of the source,
the material in the rectangle will be re-sized (stretched or shrunk). If you've
specified a different aspect ratio, that will be accommodated too... you will
still get ALL of what was in the area copied from.
Horse's mouth...
https://lazarus-ccr.sourceforge.io/docs/lcl/graphics/tcanvas.copyrect.html