C#でBitmapを読み込んでGraphicsを作ると"インデックス付きのピクセル形式をもつイメージからグラフィックス オブジェクトを作成することはできません。"という例外が投げられる。
例外が発生したBitmapのPixelFormatを見るとFormat8bppIndexedとなっている。これは8bitのカラーパレットを使用した画像を読み込んでいるためと思われる。C#側で対応しようと思ったのだけど、画像フォーマットの変換とかは見当たらなかった。ということでとりあえず画像側で対応した。
Paint.NetでPNGを保存する際に自動検出を使うと、モノクロの画像(というか8bitパレットで対応できる画像?)は8bitで保存される。保存する際に24bitとか32bitで画像を保存してやるとGraphicsの作成が成功する。
0 件のコメント:
コメントを投稿