(canvases)
| 55 | } |
| 56 | |
| 57 | const composeCanvases = (canvases) => { |
| 58 | const [maxWidth, maxHeight] = canvases.reduce( |
| 59 | ([width, height], canvas) => [ |
| 60 | Math.max(width, canvas.width), |
| 61 | Math.max(height, canvas.height) |
| 62 | ], |
| 63 | [0, 0] |
| 64 | ) |
| 65 | |
| 66 | const resultCanvas = Canvas.createCanvas( |
| 67 | maxWidth, |
| 68 | maxHeight * canvases.length |
| 69 | ) |
| 70 | const resultContext = resultCanvas.getContext('2d') |
| 71 | |
| 72 | canvases.forEach((canvas, index) => { |
| 73 | resultContext.drawImage(canvas, 0, maxHeight * index) |
| 74 | }) |
| 75 | |
| 76 | return resultCanvas |
| 77 | } |
| 78 | |
| 79 | /** |
| 80 | * Generates a array with numbers from 0 to length-1 |
no test coverage detected