add:展台

This commit is contained in:
2026-02-19 19:28:21 +08:00
parent 1a585d353f
commit bcb7002b22
3 changed files with 47 additions and 22 deletions
-19
View File
@@ -10313,25 +10313,6 @@
RenderOptions.BitmapScalingMode="HighQuality" Height="17" Margin="0,3,0,0" />
<TextBlock Text="白板" Foreground="{DynamicResource FloatBarForeground}" FontSize="8" Margin="0,2,0,3" TextAlignment="Center" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel
MouseUp="BtnToggleVideoPresenter_Click"
Background="Transparent"
Orientation="Vertical"
HorizontalAlignment="Center"
Width="32"
Margin="0">
<Image
Source="/Resources/Icons-png/EasiCamera.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="17"
Margin="0,3,0,0" />
<TextBlock
Text="展台"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="8"
Margin="0,2,0,3"
TextAlignment="Center" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel
x:Name="BtnExitPptFromSidebarLeft"
MouseUp="ExitPPTSlideShow_MouseUp"
@@ -3061,6 +3061,7 @@ namespace Ink_Canvas
switch (++currentMode % 2)
{
case 0: //屏幕模式
VideoPresenter_OnExitWhiteboardMode();
currentMode = 0;
GridBackgroundCover.Visibility = Visibility.Collapsed;
AnimationsHelper.HideWithSlideAndFade(BlackboardLeftSide);
+46 -3
View File
@@ -183,8 +183,6 @@ namespace Ink_Canvas
Visibility = Visibility.Visible,
Opacity = 1.0
};
// 让它具备与“普通插入图片”一致的选中/拖拽/缩放行为
try
{
InitializeElementTransform(img);
@@ -299,7 +297,6 @@ namespace Ink_Canvas
inkCanvas.Children.Add(img);
}
// 上屏后自动切到选择模式,否则用户在笔模式下点不中元素
try
{
SetCurrentToolMode(InkCanvasEditingMode.Select);
@@ -526,7 +523,15 @@ namespace Ink_Canvas
InkCanvas.SetLeft(img, Math.Max(0, x));
InkCanvas.SetTop(img, Math.Max(0, y));
InitializeElementTransform(img);
BindElementEvents(img);
timeMachine.CommitElementInsertHistory(img);
inkCanvas?.Children.Add(img);
SetCurrentToolMode(InkCanvasEditingMode.Select);
UpdateCurrentToolMode("select");
HideSubPanels("select");
}
catch (Exception ex)
{
@@ -534,6 +539,44 @@ namespace Ink_Canvas
}
}
private void VideoPresenter_OnExitWhiteboardMode()
{
try
{
// 收起侧栏
if (VideoPresenterSidebar != null)
{
VideoPresenterSidebar.Visibility = Visibility.Collapsed;
}
if (BtnToggleVideoPresenterLiveOnCanvas != null)
{
BtnToggleVideoPresenterLiveOnCanvas.IsChecked = false;
}
if (inkCanvas != null)
{
foreach (var kv in _liveFrameImageByPage.ToList())
{
var img = kv.Value;
if (img == null) continue;
try
{
if (inkCanvas.Children.Contains(img))
{
inkCanvas.Children.Remove(img);
}
img.Visibility = Visibility.Collapsed;
}
catch { }
}
}
try { _cameraService?.StopPreview(); } catch { }
}
catch { }
}
private static BitmapImage ConvertBitmapToBitmapImage(Bitmap bitmap)
{
try