インデックス付きピクチャの操作-より簡単な実装

589 ワード

画像を操作する前に、画像のPixelFormat=Format 8 bppIndexedに遭遇した場合.などいくつかのインデックス形式で、これらの形式の画像に対して直接Graphics関連操作を行うと、異常が報告されます.
インデックス付きピクセル形式の画像からGraphicsオブジェクトを作成できません
以前に検索した解決策は、フォーマットを判断し、インデックス付きの画像をGraphics.DrawImageは新しいBitmapに入ります.ずっとこのように使って、昨日問題を発見したことを知っていて、絵を描いた後にピクチャーが変わったことを発見しました.小さくなりました...
いくつかのパラメータも試してみたが,いずれも決められなかった.そこで探しました.Netwatermark関連のオープンソース実装では、実際には何も描かなくてもいいことがわかりました.
 Bitmap image = new Bitmap(originalImage);

インデックス付きの画像が自動的にFormat 24 bppRgbになってしまうなんて、不思議ですね.その理由も深く究明していないので、これからはこのように使いましょう.