public static Process GenerateVideoFile(string previewFileName, int seconds, int width, int height, Color color, bool checkered, decimal frameRate, Bitmap bitmap, DataReceivedEventHandler dataReceivedHandler = null) { Process processMakeVideo; if (bitmap != null) { var tempImageFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".png"); var backgroundImage = ExportPngXml.ResizeBitmap(bitmap, width, height); backgroundImage.Save(tempImageFileName, ImageFormat.Png); processMakeVideo = GetFFmpegProcess(tempImageFileName, previewFileName, backgroundImage.Width, backgroundImage.Height, seconds, frameRate); } else if (checkered) { const int rectangleSize = 9; var backgroundImage = TextDesigner.MakeBackgroundImage(width, height, rectangleSize, Configuration.Settings.General.UseDarkTheme); var tempImageFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".png"); backgroundImage.Save(tempImageFileName, ImageFormat.Png); processMakeVideo = GetFFmpegProcess(tempImageFileName, previewFileName, backgroundImage.Width, backgroundImage.Height, seconds, frameRate); } else { processMakeVideo = GetFFmpegProcess(color, previewFileName, width, height, seconds, frameRate); } SetupDataReceiveHandler(dataReceivedHandler, processMakeVideo); return(processMakeVideo); }
public static Process GenerateVideoFile(string previewFileName, int seconds, int width, int height, Color color, bool checkered, decimal frameRate) { Process processMakeVideo; if (checkered) { const int rectangleSize = 9; var backgroundImage = TextDesigner.MakeBackgroundImage(width, height, rectangleSize, Configuration.Settings.General.UseDarkTheme); var tempImageFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".png"); backgroundImage.Save(tempImageFileName, ImageFormat.Png); processMakeVideo = GetFFmpegProcess(tempImageFileName, previewFileName, backgroundImage.Width, backgroundImage.Height, seconds, frameRate); } else { processMakeVideo = GetFFmpegProcess(color, previewFileName, width, height, seconds, frameRate); } return(processMakeVideo); }