diff --git a/SpineViewer/Exporter/ExportArgs.cs b/SpineViewer/Exporter/ExportArgs.cs index f0acb6e..077d41e 100644 --- a/SpineViewer/Exporter/ExportArgs.cs +++ b/SpineViewer/Exporter/ExportArgs.cs @@ -88,6 +88,12 @@ namespace SpineViewer.Exporter [Category("[0] 导出"), DisplayName("仅渲染选中"), Description("是否仅导出选中的模型,请在预览画面参数面板进行调整")] public bool RenderSelectedOnly { get; } + /// + /// 背景颜色 TODO: 提供颜色编辑 + /// + [Category("[0] 导出"), DisplayName("背景颜色"), Description("要使用的背景色, 格式为 #RRGGBBAA")] + public SFML.Graphics.Color BackgroundColor { get; set; } = SFML.Graphics.Color.Transparent; + /// /// 检查参数是否合法并规范化参数值, 否则返回用户错误原因 /// diff --git a/SpineViewer/Exporter/Exporter.cs b/SpineViewer/Exporter/Exporter.cs index c435133..018ea65 100644 --- a/SpineViewer/Exporter/Exporter.cs +++ b/SpineViewer/Exporter/Exporter.cs @@ -81,7 +81,7 @@ namespace SpineViewer.Exporter { // tex 必须临时创建, 随用随取, 防止出现跨线程的情况 using var tex = GetRenderTexture(); - tex.Clear(SFML.Graphics.Color.Transparent); + tex.Clear(ExportArgs.BackgroundColor); tex.Draw(spine); tex.Display(); return new(tex.Texture.CopyToImage()); @@ -94,7 +94,7 @@ namespace SpineViewer.Exporter { // tex 必须临时创建, 随用随取, 防止出现跨线程的情况 using var tex = GetRenderTexture(); - tex.Clear(SFML.Graphics.Color.Transparent); + tex.Clear(ExportArgs.BackgroundColor); foreach (var spine in spinesToRender) tex.Draw(spine); tex.Display(); return new(tex.Texture.CopyToImage());