掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
gif、pngファイルから透明色を取得するには (ID:150633)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
問題に対する解決策ということではありませんが. ( GIF ファイルではなく ) GIF 画像の透過色を取得して, ビットマップのマスク画像を作成する作成する例です. LBitmapMask が TImageList.Add の第 2 引数に渡す値です. 取得するのは透明色ではなく,透過色です. R, G, B, A の値が全て 0 が「透明色」です. PNG 画像の透明色のピクセルは,透過状態となります. procedure TForm1.Button1Click(Sender: TObject); var LBitmap : TBitmap; LBitmapMask : TBitmap; LGifImg : TGIFImage; begin LBitmap := TBitmap.Create; LBitmapMask := TBitmap.Create; LGifImg := TGIFImage.Create; try LBitmap.SetSize(128, 128); LGifImg.LoadFromFile('128X128_GIF_01.gif'); LGifImg.Transparent := False; LBitmap.Canvas.Draw(0, 0, LGifImg); LBitmapMask.Assign(LBitmap); LBitmapMask.Mask(LGifImg.Bitmap.TransparentColor); Image1.Canvas.Draw(0, 0, LBitmap); Image2.Canvas.Draw(0, 0, LBitmapMask); finally FreeAndNil(LBitmap); FreeAndNil(LBitmapMask); FreeAndNil(LGifImg); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.