« 2012年6月 | トップページ | 2013年5月 »

2013年4月20日 (土)

最適化パレットでgifを保存

bmpなどの画像をgifとして保存するときに、Windows付属のペイントだと画質が悪くなってしまいます。ペイント以外のソフトでもこうなることが多いようです。高級なソフトではきれいに保存できるものもあります。

もともとgifは256色しか表現できないので仕方ない場合もありますが、そんなにたくさん色を使っていない場合でも画質が悪くなってしまうので残念です。

でも、高級なソフトを用意しなくても私たちプログラマは自分でプログラムを作るという手があります。

私が作ったプログラムはこんな感じです。このプログラムを試す場合はWPFプロジェクトとして作成するのがよいです。Windows フォーム アプリケーションやWeb フォーム アプリケーションなどでも参照設定を追加すれば可能です。

Dim sourceFileName As String = "C:\vb\test.bmp"
Dim gifFileName As String = "C:\vb\savegif.gif"

Dim bmpImage As New BitmapImage(New Uri(sourceFileName))
Dim gifEncoder As New GifBitmapEncoder
gifEncoder.Frames.Add(BitmapFrame.Create(bmpImage))

Using stream As New IO.FileStream(gifFileName, IO.FileMode.Create)
    gifEncoder.Save(stream)
End Using

これでtest.bmpがsavegif.gifという名前で保存されます。

| | コメント (0) | トラックバック (0)

« 2012年6月 | トップページ | 2013年5月 »