2
我想在我的c#programm中提取動畫gif的個別幀。GIF到PNG:只提取第一幀
它爲每個幀創建一個PNG - 工作得很好,但它們只是第一幀的一堆副本。 我做錯了什麼?
Image img = Image.FromFile(path);
FrameDimension dimension = new FrameDimension(img.FrameDimensionsList[0]);
int frameCount = img.GetFrameCount(dimension);
MemoryStream memory = new MemoryStream();
for(int i = 0; i < frameCount; i++){
img.SelectActiveFrame(dimension, i);
((Image)img.Clone).Save(memory, System.Drawing.Imaging.ImageFormat.Png);
File.WriteAllBytes(myFolder + "/frame_"+i+".png", memory.ToArray());
}
更新: 經過一番擺弄我發現它的作品,如果用這樣的:
Bitmap bmp = new Bitmap(img);
bmp.Save(Application.dataPath + projectFolder.Substring(6) + "/frame_"+i+".png");
有人可以請給我解釋一下,爲什麼這個作品和原代碼執行不?
非常感謝!