これはコードです:
if (Form1.sf != null)
{
radarDI = new DirectoryInfo(Form1.sf);
radarFiles = radarDI.GetFiles("*.png");
for (int i = radarFiles.Length - 1; i >= 0; i--)
{
radarImage = Image.FromFile(radarFiles[i].Name);
radarImage.Save(FileName, System.Drawing.Imaging.ImageFormat.Gif);
myGifListRadar.Add(radarFiles[i].Name);
if (myGifListRadar.Count == 5)
{
break;
}
}
radar_animation.MakeGIF(myGifListRadar, @"d:\RadarGifAnimatoion.gif", 8, true);
}
すべてのpngファイルをgifに変換したい。アニメーションgifを作成する必要があり、gifファイルのみを取得しているためです。したがって、pngファイルをハードディスクに保存して変換を行い、ハードディスクからgifファイルを読み戻します。
radarImage.Save(FileName, System.Drawing.Imaging.ImageFormat.Gif);
FileName は、後でファイルを保存してから読み込んで使用する必要があります。問題は、最初にハードディスクに保存せずにファイルを gif に変換する方法があるかどうかです。ファイルをハードディスクに保存して変換し、FileInfo を使用して gif として再度読み取りますか?
ちょうど更新されました:
using (var ms = new MemoryStream())
{
if (Form1.sf != null)
{
radarDI = new DirectoryInfo(Form1.sf);
radarFiles = radarDI.GetFiles("*.png");
for (int i = radarFiles.Length - 1; i >= 0; i--)
{
radarImage = Image.FromFile(radarFiles[i].FullName);
radarImage.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
myGifListRadar.Add(radarFiles[i].Name);
if (myGifListRadar.Count == 5)
{
break;
}
}
}
radar_animation.MakeGIF(myGifListRadar, @"d:\RadarGifAnimatoion.gif", 8, true);
}
しかし今、この部分:
radarImage.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
myGifListRadar.Add(radarFiles[i].Name);
myGifListRadar は List です。どうすれば、raderImage を文字列ファイル名として List に追加できますか?