使用像素尺寸,避免DPI不同导致DIP尺寸与实际像素不一致

This commit is contained in:
李伟
2026-04-23 16:52:10 +08:00
parent 3aa64843c8
commit d5b421b811
2 changed files with 40 additions and 43 deletions
@@ -17,28 +17,20 @@
</UserControl.Resources>
<Border BorderBrush="Transparent" BorderThickness="1" ClipToBounds="True">
<Grid>
<!-- 图像显示区域(去掉左侧按钮列,全部空间给图像) -->
<!-- 图像显示区域 -->
<Grid x:Name="imageDisplayGrid" ClipToBounds="True">
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="放大" Click="BtnZoomIn_Click" />
<MenuItem Header="缩小" Click="BtnZoomOut_Click" />
<MenuItem Header="适应窗口" Click="BtnReset_Click" />
</ContextMenu>
</Grid.ContextMenu>
<Grid x:Name="transformGrid"
RenderTransformOrigin="0.5,0.5"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Grid.LayoutTransform>
<ScaleTransform x:Name="scaleTransform"
ScaleX="{Binding ZoomScale, ElementName=root}"
ScaleY="{Binding ZoomScale, ElementName=root}" />
</Grid.LayoutTransform>
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform x:Name="scaleTransform"
ScaleX="{Binding ZoomScale, ElementName=root}"
ScaleY="{Binding ZoomScale, ElementName=root}" />
<TranslateTransform x:Name="translateTransform"
X="{Binding PanOffsetX, ElementName=root}"
Y="{Binding PanOffsetY, ElementName=root}" />
</TransformGroup>
<TranslateTransform x:Name="translateTransform"
X="{Binding PanOffsetX, ElementName=root}"
Y="{Binding PanOffsetY, ElementName=root}" />
</Grid.RenderTransform>
<Canvas x:Name="mainCanvas"