v.s.
// 2. horizontal flip image(canvas, 0, 0, canvas.width, canvas.height, canvas.width, 0, 0, canvas.height);
would still mean for me that you copy a empty rectangle
//________________________
// sorry for my beginner scale test , but i needed a easy example, and your title sounds like: SCALE() not working / mirroring the title should be more like
IMAGE() not working as expected.