通知
すべてクリア
Topic starter
2011年6月22日 3:11 PM
gifやpngをロードしたいと思い、GDIからGDI+へシフトしているところです
GraphicsクラスのDrawImageで無事にpngを描画できることを確認したのですが
どうにも速度が優れておらず、LockBitsを使用してビット列を取得して
DIBのようなコピーを実行するようにしました
ただpngに設定されている透明色はコピーしたくないのでなんとかして
透明色を取得したいのですが、GetColorKeyのようなメソッドが見当たりません
どうすればよいでしょうか、よろしくお願いします
2011年6月22日 6:57 PM
PNGはピクセルごとにアルファ値を持っているので、透明色がなにか1色あるというわけ
ではありません。
Topic starter
2011年6月22日 8:15 PM
LockBitsにPixelFormat32bppARGBを指定したらアルファ値を
取得できるようになったので上手くいきました
ありがとうございました
2011年7月3日 6:15 PM
GDIは古いWindowsでも動作するので安心といえば安心ですが、DDとかD2Dと比べるとやはり相当遅いので、こ
れからはWindowsがシステムランタイムライブラリとして含めているDDなりD2Dなりをデフォで使っていくという方針
もおすすめいたします。
一度使うとGDIが微妙に思えますよ。どうしてもGDIで描画しないときついという部分なら話は別ですが、仕組み
としてはどのウィンドウも描画対象にしてD2Dでレンダリングできます。