GDI+で透明色を取得 – プログラミング – Home

通知
すべてクリア

[解決済] GDI+で透明色を取得


ふうせん
 ふうせん
(@ふうせん)
ゲスト
結合: 13年前
投稿: 2
Topic starter  

gifやpngをロードしたいと思い、GDIからGDI+へシフトしているところです
GraphicsクラスのDrawImageで無事にpngを描画できることを確認したのですが
どうにも速度が優れておらず、LockBitsを使用してビット列を取得して
DIBのようなコピーを実行するようにしました
ただpngに設定されている透明色はコピーしたくないのでなんとかして
透明色を取得したいのですが、GetColorKeyのようなメソッドが見当たりません
どうすればよいでしょうか、よろしくお願いします


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

PNGはピクセルごとにアルファ値を持っているので、透明色がなにか1色あるというわけ
ではありません。


返信引用
ふうせん
 ふうせん
(@ふうせん)
ゲスト
結合: 13年前
投稿: 2
Topic starter  

LockBitsにPixelFormat32bppARGBを指定したらアルファ値を
取得できるようになったので上手くいきました
ありがとうございました


返信引用
bigbro
 bigbro
(@bigbro)
ゲスト
結合: 13年前
投稿: 1
 

GDIは古いWindowsでも動作するので安心といえば安心ですが、DDとかD2Dと比べるとやはり相当遅いので、こ
れからはWindowsがシステムランタイムライブラリとして含めているDDなりD2Dなりをデフォで使っていくという方針
もおすすめいたします。
一度使うとGDIが微妙に思えますよ。どうしてもGDIで描画しないときついという部分なら話は別ですが、仕組み
としてはどのウィンドウも描画対象にしてD2Dでレンダリングできます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました