Send the original image to both players, then only send the manipulation data on any future updates. IE: Player 1 uploads picture, picture is sent to Player 2. Player 1 rotates the picture then sends only the transformation (rotation/scale/translate) matrix to player 2, player 2 takes this transformation matrix and applies it to the image on his screen. Player 2 then makes his changes and the new transformation matrix is sent to player 1. NOTE: You will have to make sure the player who is waiting for the other player cannot manipulate the image.
The only time you should be sending the image over the network is on first load/upload of a new image.
As for the technology just use SDL for this, unless you want to do advanced manipulations to the image (IE: GIMP/Photoshop) then use OpenGL.
|