Thanks for the replies. Yep, this is just for a tool / my own education, so I don't mind the extra processing step.
@MJP - Yea that's what I thought too, but the channels are switched. So I'll need to switch them.
So from doing some reading and testing, looks like the best option is read the data from the file into a buffer, create my texture, lock the rect and then switch the channels as needed. I can't seem to find anything here or on Google that suggests a better way.
It produces the correct texture data and it's not too slow. Is there a better way?
Thanks,
Dave