Ensure disposal of opened Image instances (#249)

Former-commit-id: b217ca4af0
This commit is contained in:
Malte Rosenbjerg 2021-11-01 18:14:06 +01:00
parent 079760d044
commit f5745b9670

View file

@ -303,12 +303,13 @@ public static bool Join(string output, params string[] videos)
public static bool JoinImageSequence(string output, double frameRate = 30, params ImageInfo[] images) public static bool JoinImageSequence(string output, double frameRate = 30, params ImageInfo[] images)
{ {
var tempFolderName = Path.Combine(GlobalFFOptions.Current.TemporaryFilesFolder, Guid.NewGuid().ToString()); var tempFolderName = Path.Combine(GlobalFFOptions.Current.TemporaryFilesFolder, Guid.NewGuid().ToString());
var temporaryImageFiles = images.Select((image, index) => var temporaryImageFiles = images.Select((imageInfo, index) =>
{ {
FFMpegHelper.ConversionSizeExceptionCheck(Image.FromFile(image.FullName)); using var image = Image.FromFile(imageInfo.FullName);
var destinationPath = Path.Combine(tempFolderName, $"{index.ToString().PadLeft(9, '0')}{image.Extension}"); FFMpegHelper.ConversionSizeExceptionCheck(image);
var destinationPath = Path.Combine(tempFolderName, $"{index.ToString().PadLeft(9, '0')}{imageInfo.Extension}");
Directory.CreateDirectory(tempFolderName); Directory.CreateDirectory(tempFolderName);
File.Copy(image.FullName, destinationPath); File.Copy(imageInfo.FullName, destinationPath);
return destinationPath; return destinationPath;
}).ToArray(); }).ToArray();