2016-06-24 84 views
0

我想縮放/放大中心點周圍的相機預覽,但我不希望控制本身「增長」,這是目前正在發生的事情。我怎樣才能做到這一點?縮放相機預覽也調整控制大小

<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正在增長!

回答

0

而不是使用一個RenderTransform的,你可以嘗試使用一個ScrollViewer代替:

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

這會給你自動變焦。此外,滾動查看器將保持其大小,但子控件(CaptureElement)將在滾動查看器內增長。

+0

謝謝!我希望以某種方式限制圖像大小,以便在將照片保存到文件時它會反映他們實際看到的內容,但如果我無法弄清楚,我將執行ScrollViewer。 – DeannaD

+0

您可以使用滾動查看器數據Width/Height和ExtentWidth/ExtentHeight來計算大小,Horizo​​ntalOffset和VerticalOffset可以計算出可視區域的位置。然後用它來裁剪和保存圖像。 – Stefan

+0

謝謝!這就是我現在要做的,但是當ScaleTransform在預覽中效果很好時,當我縮放時,水平/垂直偏移保持爲0。似乎應該有一種方法來向圖像的左上角座標滾動查看器,但我還沒有找到。 – DeannaD