用GDAL库读入图像的显示有关问题!多谢

用GDAL库读入图像的显示问题!急!谢谢!
1.用GDAL库的RasterIO函数读入图像到BYTE*型数组poBandGray,并用GDI方法在OnDraw里以8位位图的方式显示,没有问题
2.但是1中的方法不能读入16位图像,于是我把poBandGray改成了int*型,处理也是用int*处理的,在OnDraw函数显示部分代码之前将poBandGray转成BYTE*,然后显示的代码没有变。
3.但是这个时候出现问题了。16位图像可以读了,但是显示的时候是下面这个样子的,而且8位图像的显示也变成了下面这种形式:也就是说图像变小了,先是并排四个,然后后面全是黑的。
4.明显感觉是数据类型转换和显示不匹配造成的,但是我现在想不到原因。
所以来求帮助了 T^T
用GDAL库读入图像的显示有关问题!多谢

------解决方案--------------------
对于8位以上的数据是需要进行拉伸的。
以unsigned short举例来说,0~65535需要拉伸到0~255之间(也就是分成这么多等份),大致就是这么操作。