Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }