Tu dir bitte selber mal den Gefallen und schau mal bitte GENAU bei CS ob das Bild nur auf dem Kopf steht oder ob die Zeilen auch gespiegelt sind. Also ob es um 180° gedreht ist. Denn wenn es nur auf dem Kopf steht, dann macht es die ganze Sache durchaus einfacher.
Wenn du ein TBitmap hast ist es ziemlich einfach. Da würde ich dir generell empfehlen jede Zeile per Scanline anzusprechen. Denn wenn du den gesammten Speicherbereich als einen Betrachtest ist das wohl nur zu verwirrend. In einem TBitmap befinden die Daten normalerweise auch mit der letzten Zeile zu erst im Speicher. Wie luke schon gesagt hat. Du lässt dir den Pointer der Zeile geben und kopierst diesen dann. Je nachdem ob das Bild nur kopf steht kannst du die ganze Zeile am Stück kopieren anderenfalls musst du Pixel für Pixel kopieren.
Ein gutes und umfangreiches Dokument über ScanLines gibt es bei
efg's Computer Lab. Ist zwar nicht mehr alles Taufrisch aber die ScanLines ändern sich ja nicht. In diesem Dokument ist wohl eher der Part mit pf24Bit und/oder pf32Bit interessant.