2012-11-07 54 views
1

當前,當使用Media capture using capture device sample進行測試時,我意識到相機不是我想要的東西。 我希望它處於鏡像模式。目前,事實並非如此。執行相機預覽鏡像模式的正確方法

  1. 對於相機預覽是在鏡像模式,我可以知道的是它依賴於硬件或硬件無關的。可能的是,如果我用不同的硬件運行相同的代碼,相機預覽將處於鏡像模式?如果它依賴於硬件,我如何檢查我的相機預覽是否處於鏡像/非鏡像模式?

  2. 爲了使其處於鏡像模式,我嘗試關注this thread。我試試MediaCapture.SetPreviewMirroring(true)。沒有效果。相機預覽仍處於非鏡像模式。

  3. 我試試captureElement.RenderTransform = new ScaleTransform() { ScaleX = -1 };。整個相機預覽變成純灰色。

  4. 我想嘗試的最後一種方法是嘗試通過MediaCapture.AddEffectAsync()在C++代碼中執行翻轉操作。但是,這需要回到我的第一個問題。我只需簡單地執行翻轉操作,還是首先需要檢查傳入緩衝區是否處於鏡像/非鏡像模式?如果是,我該如何檢查?

回答

0

使用

<CaptureElement x:Name="previewElement" Margin="0" Stretch="UniformToFill" RenderTransformOrigin="0.5,0.5"> 
     <CaptureElement.RenderTransform> 
      <CompositeTransform ScaleX="-1"/> 
     </CaptureElement.RenderTransform> 
    </CaptureElement> 

關鍵撒謊RenderTransformOrigin="0.5,0.5"。我們需要從預覽中心翻轉。

+0

這不起作用。捕捉元素不是常規元素,您可以只是翻轉或旋轉,相機會將幀倒入其中並忽略方向或轉換。 –