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());