« Visual Studio Express 2012のデスクトップアプリケーション | トップページ | IsNothingと Is Nothingの違い »

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という名前で保存されます。

|

« Visual Studio Express 2012のデスクトップアプリケーション | トップページ | IsNothingと Is Nothingの違い »

Visual Basic」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/197542/57209828

この記事へのトラックバック一覧です: 最適化パレットでgifを保存:

« Visual Studio Express 2012のデスクトップアプリケーション | トップページ | IsNothingと Is Nothingの違い »