improve:PPT墨迹管理

This commit is contained in:
2026-02-20 14:59:41 +08:00
parent 87570e16ce
commit 1c50edd8be
+8 -18
View File
@@ -1448,16 +1448,9 @@ namespace Ink_Canvas
{
try
{
// 保存当前页墨迹
var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0;
if (currentSlide > 0)
{
_singlePPTInkManager?.SaveCurrentSlideStrokes(currentSlide, inkCanvas.Strokes);
}
// 保存截图(如果启用)
if (inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber &&
Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint)
Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint && currentSlide > 0)
{
var presentationName = _pptManager?.GetPresentationName() ?? "";
SaveScreenShot(true, $"{presentationName}/{currentSlide}");
@@ -1466,7 +1459,6 @@ namespace Ink_Canvas
// 执行翻页
if (_pptManager?.TryNavigatePrevious() == true)
{
// 翻页成功,等待事件处理墨迹切换
}
else
{
@@ -1488,16 +1480,14 @@ namespace Ink_Canvas
{
try
{
// 保存当前页墨迹
var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0;
if (currentSlide > 0)
{
_singlePPTInkManager?.SaveCurrentSlideStrokes(currentSlide, inkCanvas.Strokes);
}
// 注意:不在这里保存墨迹,而是等待OnPPTSlideShowNextSlide事件触发时统一保存
// 这样可以避免快速翻页时墨迹保存和加载的页码不匹配问题
// 滚轮翻页之所以不会错页,是因为它直接触发事件,不会有双重保存的问题
// 保存截图(如果启用)
// 保存截图(如果启用)- 截图保存不影响墨迹,可以保留
var currentSlide = _pptManager?.GetCurrentSlideNumber() ?? 0;
if (inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber &&
Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint)
Settings.PowerPointSettings.IsAutoSaveScreenShotInPowerPoint && currentSlide > 0)
{
var presentationName = _pptManager?.GetPresentationName() ?? "";
SaveScreenShot(true, $"{presentationName}/{currentSlide}");
@@ -1506,7 +1496,7 @@ namespace Ink_Canvas
// 执行翻页
if (_pptManager?.TryNavigateNext() == true)
{
// 翻页成功,等待事件处理墨迹切换
// 翻页成功,等待OnPPTSlideShowNextSlide事件处理墨迹切换
}
else
{