public static void ExportTTImages(OIDProject oIDProject, Scene scene, TTToolSettings set, bool highquality, bool canvasImage, bool maskimage, EnumNeutralOid enumNeutral) { if (scene == null || scene.TTImages == null || scene.TTImages.Count == 0) { return; } string destDir = Path.Combine(oIDProject.ProjectPath, "Scenes"); if (!Directory.Exists(destDir)) { Directory.CreateDirectory(destDir); } if (canvasImage) { ExportCanvasImage(scene, destDir); } string workdir = Path.Combine(oIDProject.ProjectPath, "temp"); if (!Directory.Exists(workdir)) { Directory.CreateDirectory(workdir); } if (maskimage) { CreateMaskPicture(oIDProject, scene, set, highquality, destDir, workdir, enumNeutral); } }
private static void CreateMaskPicture(OIDProject oIDProject, Scene scene, TTToolSettings set, bool highquality, string destDir, string workdir, EnumNeutralOid enumNeutral) { using (var maskPicture = new Bitmap(scene.PixelSize.Width, scene.PixelSize.Height)) { using (Graphics graphic = Graphics.FromImage(maskPicture)) { graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; if (enumNeutral == EnumNeutralOid.mask) { CreateNeutralMask(maskPicture, scene, set, workdir); } DrawAllOids(oIDProject, scene, set, workdir, maskPicture, graphic, highquality); } maskPicture.Save(Path.Combine(destDir, $"{scene.Name}_mask.png"), ImageFormat.Png); } if (enumNeutral == EnumNeutralOid.separate) { using (var maskPicture = new Bitmap(scene.PixelSize.Width, scene.PixelSize.Height)) { using (Graphics graphic = Graphics.FromImage(maskPicture)) { graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None; CreateNeutralMask(maskPicture, scene, set, workdir); } maskPicture.Save(Path.Combine(destDir, $"{scene.Name}_neutral.png"), ImageFormat.Png); } } }