For 16 colour modes you need to use 16 bpp packed pixel format. So, convert you image to such a format. Then, getmem a buffer with 6 bytes plus the size of the raw image. Then:

* At offset 0, write a word containing the width.
* At offset 2, write a word containing the height

Then blockread the image at offset 6. Now you should be able to use putimage.