簡體   English   中英

使用wp8的前置攝像頭翻轉圖像

[英]flipped images with front camera for wp8

我在Windows Phone應用中使用lumia Imaging SDK。 我主要使用前置攝像頭。 也正在使用VideoBrush捕獲圖像。 當我嘗試使用前置攝像頭拍照時,它可以正常工作,但是當捕獲圖像時,圖像將被翻轉並保存(如鏡面效果)。

<Canvas x:Name="VideoCanvas" Width="480" Height="640" RenderTransformOrigin="0.5,0.5">
    <Canvas.RenderTransform>
        <CompositeTransform ScaleX="-1"/>
    </Canvas.RenderTransform>
    <Canvas.Background>
        <VideoBrush x:Name="videoBrush"/>
    </Canvas.Background>                
</Canvas>

上面的Scale="-1"對於初始化相機很有幫助,但是捕獲任務會將其存儲為鏡像。 下面是用於捕獲圖像的代碼。 可以在這里操縱這種鏡像效果嗎?

private async Task Capture()
{
        if (!_capturing)
        {
            _capturing = true;

            MemoryStream stream = new MemoryStream();

            CameraCaptureSequence sequence = _dataContext.Device.CreateCaptureSequence(1);
            sequence.Frames[0].CaptureStream = stream.AsOutputStream();

            await _dataContext.Device.PrepareCaptureSequenceAsync(sequence);
            await sequence.StartCaptureAsync();

            _dataContext.ImageStream = stream;

            _capturing = false;
        }
}

還是有什么方法可以翻轉和保存捕獲的圖像(就像LumiaSelfie應用程序一樣)? 請幫我解決一下這個。 提前致謝。

在您的Lumia Imaging SDK渲染鏈中,您可以添加一個Flipfilter: https ://msdn.microsoft.com/en-us/library/lumia.imaging.transforms.flipfilter.aspx

例:

using (var source = ...)
using (var effect = new FilterEffect(source))
using (var renderer = new JpegRenderer(effect))
{
   effect.Filters = new [] { new FlipFilter(FlipMode.Horizontal) };

   var result = await renderer.RenderAsync();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM