1

私の単純なコードは、この PNGここに画像の説明を入力からこの GIFに移動しますが、ここに画像の説明を入力これは受け入れられません。GIF が最適な形式ではないことはわかっていますが、現在の状況に適合する必要があります。

Imports System.Drawing
Dim oImage As Image = Image.FromFile("c:\whatever\temp.png")
oImage.Save("c:\whatever\temp.gif", Imaging.ImageFormat.Gif)

また、画像のサイズを変更したい(少し縮小したい)が、それはさらに悪い。カラー パレット、エンコーダー、P モードと RGBA の関係で何かをする必要があると思いますが、私の Google-fu は完全に弱く、何も見つかりませんでした!

便利な VB.NET や C# を使って私の愚かさを指摘してくれる人がいたら、ありがとう。

4

2 に答える 2

4

基本的に必要なことは、元の画像をできるだけ忠実に再現できるように 256 色のパレットを適応的に生成することです。

これを行うための優れた記事 (コードを含む) がここにあります。をつかむOctreeQuantizerと、コード例と同じくらい簡単です。

   var quantizer = new OctreeQuantizer(255, 8);
   using (var quantized = quantizer.Quantize(image))
   {
       quantized.Save(target, ImageFormat.Gif);
   }
于 2013-02-12T11:17:17.037 に答える
2

入力画像用に最適化された画像パレットを見つける必要があります。

ここを見てください:http://msdn.microsoft.com/en-us/library/aa479306.aspx

注意: .NET ベースの回答を探していることは承知していますが、それでもImageMagicをチェックする価値があるかもしれません。変換オプションを細かく制御できます。個人的には使用していませんが、.NET ラッパーもあります: http://imagemagick.codeplex.com/

于 2013-02-12T11:17:04.903 に答える