diff --git a/SpineViewer/Dialogs/ExportDialog.cs b/SpineViewer/Dialogs/ExportDialog.cs index 194520e..f8f6eef 100644 --- a/SpineViewer/Dialogs/ExportDialog.cs +++ b/SpineViewer/Dialogs/ExportDialog.cs @@ -1,4 +1,4 @@ -using SpineViewer.ExportHelper; +using SpineViewer.Exporter; using System; using System.Collections.Generic; using System.ComponentModel; diff --git a/SpineViewer/ExportHelper/ExportArgs.cs b/SpineViewer/Exporter/ExportArgs.cs similarity index 99% rename from SpineViewer/ExportHelper/ExportArgs.cs rename to SpineViewer/Exporter/ExportArgs.cs index e024d73..604b712 100644 --- a/SpineViewer/ExportHelper/ExportArgs.cs +++ b/SpineViewer/Exporter/ExportArgs.cs @@ -7,7 +7,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace SpineViewer.ExportHelper +namespace SpineViewer.Exporter { /// /// 导出参数基类 diff --git a/SpineViewer/ExportHelper/ExportHelper.cs b/SpineViewer/Exporter/ExportHelper.cs similarity index 80% rename from SpineViewer/ExportHelper/ExportHelper.cs rename to SpineViewer/Exporter/ExportHelper.cs index c588a0f..a5d0265 100644 --- a/SpineViewer/ExportHelper/ExportHelper.cs +++ b/SpineViewer/Exporter/ExportHelper.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace SpineViewer.ExportHelper +namespace SpineViewer.Exporter { /// /// 为帧导出创建的辅助类 @@ -43,19 +43,19 @@ namespace SpineViewer.ExportHelper /// 获取某个包围盒下合适的视图 /// public static SFML.Graphics.View GetView(this RectangleF bounds, Size resolution, Padding padding) - => GetView(bounds, (uint)resolution.Width, (uint)resolution.Height, (uint)padding.Left, (uint)padding.Right, (uint)padding.Top, (uint)padding.Bottom); + => bounds.GetView((uint)resolution.Width, (uint)resolution.Height, (uint)padding.Left, (uint)padding.Right, (uint)padding.Top, (uint)padding.Bottom); /// /// 获取某个包围盒下合适的视图 /// public static SFML.Graphics.View GetView(this RectangleF bounds, uint width, uint height, Padding padding) - => GetView(bounds, width, height, (uint)padding.Left, (uint)padding.Right, (uint)padding.Top, (uint)padding.Bottom); + => bounds.GetView(width, height, (uint)padding.Left, (uint)padding.Right, (uint)padding.Top, (uint)padding.Bottom); /// /// 获取某个包围盒下合适的视图 /// public static SFML.Graphics.View GetView(this RectangleF bounds, Size resolution, uint paddingL = 1, uint paddingR = 1, uint paddingT = 1, uint paddingB = 1) - => GetView(bounds, (uint)resolution.Width, (uint)resolution.Height, paddingL, paddingR, paddingT, paddingB); + => bounds.GetView((uint)resolution.Width, (uint)resolution.Height, paddingL, paddingR, paddingT, paddingB); /// /// 获取某个包围盒下合适的视图 @@ -68,13 +68,13 @@ namespace SpineViewer.ExportHelper float innerH = height - paddingT - paddingB; float scale = 1; - if ((sizeY / sizeX) < (innerH / innerW)) + if (sizeY / sizeX < innerH / innerW) scale = sizeX / innerW; // 相同的 X, 视窗 Y 更大 else scale = sizeY / innerH; // 相同的 Y, 视窗 X 更大 - var x = bounds.X + bounds.Width / 2 + ((float)paddingL - (float)paddingR) * scale; - var y = bounds.Y + bounds.Height / 2 + ((float)paddingT - (float)paddingB) * scale; + var x = bounds.X + bounds.Width / 2 + (paddingL - (float)paddingR) * scale; + var y = bounds.Y + bounds.Height / 2 + (paddingT - (float)paddingB) * scale; var viewX = width * scale; var viewY = height * scale; diff --git a/SpineViewer/ExportHelper/SFMLImageVideoFrame.cs b/SpineViewer/Exporter/SFMLImageVideoFrame.cs similarity index 97% rename from SpineViewer/ExportHelper/SFMLImageVideoFrame.cs rename to SpineViewer/Exporter/SFMLImageVideoFrame.cs index d71c3c8..44a5635 100644 --- a/SpineViewer/ExportHelper/SFMLImageVideoFrame.cs +++ b/SpineViewer/Exporter/SFMLImageVideoFrame.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using FFMpegCore.Pipes; -namespace SpineViewer.ExportHelper +namespace SpineViewer.Exporter { /// /// SFML.Graphics.Image 帧对象包装类 diff --git a/SpineViewer/MainForm.cs b/SpineViewer/MainForm.cs index b6f1268..c978c15 100644 --- a/SpineViewer/MainForm.cs +++ b/SpineViewer/MainForm.cs @@ -8,7 +8,7 @@ using System.Diagnostics; using System.Text.Json; using System.Text.Json.Nodes; using FFMpegCore.Enums; -using SpineViewer.ExportHelper; +using SpineViewer.Exporter; namespace SpineViewer { @@ -296,6 +296,7 @@ namespace SpineViewer spinePreviewer.StartRender(); } + // TODO: 转移到 Exporter 里面 private void ExportFrame_Work(object? sender, DoWorkEventArgs e) { var worker = (BackgroundWorker)sender; diff --git a/SpineViewer/Spine/Spine.cs b/SpineViewer/Spine/Spine.cs index fd881f5..41834d3 100644 --- a/SpineViewer/Spine/Spine.cs +++ b/SpineViewer/Spine/Spine.cs @@ -14,7 +14,7 @@ using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Text.Json.Nodes; using System.Collections.Immutable; -using SpineViewer.ExportHelper; +using SpineViewer.Exporter; namespace SpineViewer.Spine {