Wiele bibliotek graficznych natywnie umożliwia manipulacje bitmapami. Jeśli twoje pytanie dotyczy C/C++, to znaczy, że z takowej biblioteki korzystasz - sprawdź dokumentację, gdyż powinno się coś takiego tam znajdować.
Jeśli chodzi o aspekt teoretyczny, to zainteresuj się macierzami przekształcenia liniowego. W skrócie - masz na to gotowe wzory: https://pl.wikipedia.org/wiki/Obr%C3%B3t.