2

私はDIBハンドルを持っています。TPNGObject透明度を維持したまま変換するにはどうすればよいですか?

編集: このソリューションでは方法2を使用します

Transparentしかし、フラグをtrueに設定しても、結果のビットマップは透明ではありません

4

1 に答える 1

1

次のようなものから始まると思います。

var
  lpbi: PBitmapInfoHeader;
begin
  // Get DIB header info from DIB handle
  lpbi := PBitmapInfoHeader(GlobalLock(hdIB));
end;

次に、32 ビット イメージの場合は、透明度データに使用するアルファ チャネルがあります。

次に、RGB データを PNG オブジェクトのスキャンラインにコピーし、アルファ データをアルファ スキャンラインにコピーします。

于 2011-11-27T17:32:00.567 に答える