缩放相机预览也正在调整控件的大小

Zooming Camera Preview is also Resizing the Control

我想 scale/zoom 围绕中心点进行相机预览,但我不希望控件本身 "grow" 这是当前发生的情况。我怎样才能做到这一点?

<CaptureElement Name="PreviewControl"  RenderTransformOrigin="0.5 0.5"  Width="400" Height="300"  >
  <CaptureElement.RenderTransform >
    <ScaleTransform   x:Name="zoom"  />
  </CaptureElement.RenderTransform>
</CaptureElement>

..然后当缩放滑块移动时我有: zoom.ScaleX = sliderZoom.Value; zoom.ScaleY = sliderZoom.Value;

当我移动滑块时,图像会缩放,但整个 CaptureElement 会变大!

您可以尝试使用 ScrollViewer 而不是 RenderTransform

<ScrollViewer Name="PreviewScroll" ZoomMode="Enabled" Width="400" Height="300">
  <CaptureElement Name="PreviewControl"  RenderTransformOrigin="0.5 0.5">
  </CaptureElement>
</ScrollViewer>

这会让你自动缩放。此外,滚动查看器将保持其大小,但子控件(CaptureElement)将在滚动查看器内增长。