という、GDI+のラッパークラスがMFC7には有ったのでこれで万事解決。
昨日、αチャンネルが潰れたのはおそらくこう。
GDI+のイメージを作成する時に画像データをHBITMAPの形で渡さねばならん。のでわざわざDIBセクションなHBITMAP作ってそこにデータ書いて、それをGDI+に渡した。が、このHBITMAPは只のGDIでαに対応していないので無視した。
CImageのCreateでα対応なDIBセクション作ってそこにデータをmemcpyしたら上手く行った。
GetBits()は、データ領域の先頭アドレスを返したり、データ領域の末尾付近のアドレスを返したりするので注意。Create時の高さの指定によって、画像の左上か左下を指す。
問題はこれはVisual Studio 97では使えない事。