2007-01-28
GDI+ の謎 その2
前回に続き今回もGDI+の謎についてのおはなし。
MFCとGDI+を併用すると、謎のコンパイルエラーに遭遇することがある。具体的には、newを使ってBitmapを生成しようとしたりするとC2660等のエラーが発生する。散々悩んだ挙句KB317799にたどり着いた。
要するにMFCでDEBUG_NEWを有効にするとコンパイルエラーが発生するらしい
2007-01-14
GDI+ の謎
GDI+ については、2006-09-12に軽く触れたが、もう少し使う機会があったのでメモしておく。
Bitmapクラスで256色のPNGを読み込みSetpixelを実行するとInvalidParameterで失敗した。
散々悩んだ挙句、MSDNのGraphics::FromImageの説明内に以下の記述を発見した。
This method also fails if the image has one of the following pixel formats:
PixelFormatUndefined
PixelFormatDontCare
PixelFormat1bppIndexed
PixelFormat4bppIndexed
PixelFormat8bppIndexed
PixelFormat16bppGrayScale
PixelFormat16bppARGB1555
Graphicsクラスの説明なのでBitmap::Setpixelは関係無いはずだが、24bitカラーのBitmapへのSetpixelを試行したところ成功した。正直なところ訳がわからない。