都合によりImageMagickは使用できません。C言語で実装する必要があります。

https://stackoverflow.com/questions/11834243/rotate-and-save-png-image-using-cairo

本家の方で似た質問があったので試してみたのですが、回転後の画像はなぜか回転前と全く同じでした。