Image manipulator can do all that. Note you cant copy from image manipulator to canvas, but you can copy from it, then again you don't really need to copy to canvas, since you can use paste object.
Note image manipulator has many quirks about it, it seems you have to flip an image you copy from a sprite, and the crop feature...doesn't really work as expected.
Edit:
Also note it may take a tick to update some things since your working from the gpu... the function object is your friend.