public string Execute() { string result = string.Empty; if (_images.Any()) { var baseFileName = GetSuitableFilenameWithoutExtension(_scriptureText); if (_images.Count == 1) { var path = Path.Combine(_folder, Path.ChangeExtension(baseFileName, ".png")); BitmapWriter.WritePng(path, _images.First()); result = path; } else { string folder = Path.Combine(_folder, baseFileName); if (Directory.Exists(folder)) { ClearFiles(folder); } else { Directory.CreateDirectory(folder); } if (Directory.Exists(folder)) { if (Directory.EnumerateFiles(folder).Any()) { throw new Exception("Could not clear folder!"); } result = folder; int count = 1; foreach (var image in _images) { var baseNameWithDigitPrefix = $"{count:D3} {baseFileName}"; var path = Path.Combine(folder, Path.ChangeExtension(baseNameWithDigitPrefix, ".png")); BitmapWriter.WritePng(path, image); ++count; } } } } return(result); }
public void Create( string themePath, OnlyVTheme theme, BitmapImage backgroundImage, bool overwrite) { string backgroundImagePath = null; if (backgroundImage != null) { backgroundImagePath = Path.GetRandomFileName(); backgroundImagePath = Path.ChangeExtension(backgroundImagePath, ".png"); backgroundImagePath = Path.Combine(Path.GetTempPath(), backgroundImagePath); BitmapWriter.WritePng(backgroundImagePath, backgroundImage); } Create(themePath, theme, backgroundImagePath, overwrite); if (backgroundImagePath != null) { File.Delete(backgroundImagePath); } }