Ich denke da muss man zwischen internem und externem Gebrauch unterscheiden.
Extern ist alles das was dein die Untiefen deines Programmes verlässt. Also Bildschirm, Festplatte etc. Dabei wirst du mit einem TBitmap nicht weit kommen. Denn BMPs können nur maximal 8 Bit pro Kanal haben. Das sind dann normal aber RGB mit 24 Bit. Ein 16 Bit BMP besitzt eines der folgenden Shemata. Rot (5 Bit) Grün (6 Bit) Blau (5 Bit) oder Rot (5 Bit) Grün (5 Bit) Blau (5 Bit) Das letzte Bit bleibt ungenutzt.
Intern ist alles was du für die Verarbeitung in deinem Programm benötigst. Also du ließt das TIFF ein und machst mit den Daten irgendwas. Dazu benötigst du ja richtige 16 Bit Werte.
Wenn es nur intern ist, dann kannst du ein Bitmap auch als pf16bit benutzen. Was du mit dem Speicher der Scanlines machst ist ja dir überlassen. Aber dann kannst du auch genau so gut einen eigenen Speicherbereich mit GetMem erstellen und dort alles reinpacken. Dann musst du dich wenigsten nicht mit der GDI rumschlagen. Da würde sich je nach dem auch eine kleine schlanke Klasse anbieten. Zum Darstellen müsstest du dann das Bild deine Daten wieder in ein TBitmap kopieren und die Daten auf 8 Bit runter rechnen.
Für Graustufen BMPs mit 8 Bit schau mal in
dem Beitrag.
Sollte das deine Frage nicht beantworten dann wären ein paar Hintergrundinfos nicht schlecht. Also was du wie wo mit den 16 Bit Daten alles machen möchtest.
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.