2016-07-31 46 views
1

有關CameraCaptureUI的一些問題。CameraCaptureUI彈出控件大小?

1)我可以控制彈出窗口的大小/位置嗎?它在我的Win10平板電腦上彈出很小,每次應用程序需要拍照時放大它真的很煩人!

2)我正在嘗試創建質量與內置相機應用程序等效的照片,但是我遇到了很多麻煩。只有通過播放croppedSizeInPixels,我才能看到更大的東西,看起來像樣的質量。有人可以解釋爲什麼這會有所幫助,並且是否有更好的方法來提高照片的質量?內置應用默認創建大約1MB大小的2592x1944像素圖像。如果這是正確的方法,我應該以某種方式計算這些尺寸?

captureUI = new CameraCaptureUI(); 
captureUI.PhotoSettings.Format = CameraCaptureUIPhotoFormat.Jpeg; 
captureUI.PhotoSettings.AllowCropping = true; 
captureUI.PhotoSettings.MaxResolution = CameraCaptureUIMaxPhotoResolution.HighestAvailable; 

// photo created is approx 576KB 
captureUI.PhotoSettings.CroppedSizeInPixels = new Size(3840, 2160);  

回答

0

1)我可以控制彈出窗口的大小/位置?

正如你所看到的,CameraCaptureUI class中沒有API可以控制相機捕獲UI的大小/位置。對於Windows 8.1,此課程提供了一個完整的窗口UI,用於從攝像頭捕獲音頻,視頻和照片。但是,在Windows 10中,它是一個彈出窗口。實際上,這個類啓動內置的相機應用程序捕獲,你可以在任務管理器中找到它。

如果CameraCaptureUI無法滿足您的要求,並且您希望獲得更強大的低級別捕捉操作控制,則應該使用MediaCapture對象並實現自己的捕捉體驗。有關更多信息,請參閱Capture photos and video with MediaCapture

2)我正在嘗試創建質量與內置相機應用程序等效的照片。

CameraCaptureUI class實際上啓動了內置的Camera應用程序進行捕獲,並沒有提供很多方法來指定返回的照片的屬性。我們只能使用CroppedSizeInPixels指定捕獲的照片的分辨率。我們可以將此屬性設置爲足夠大的值。如果指定的尺寸大於任何可用分辨率,則所拍攝的照片首先將縮放到足夠大的尺寸。如果您想控制拍攝圖片的分辨率,我還建議使用GetMediaStreamPropertiesSetMediaStreamPropertiesAsync方法使用MediaCapture。欲瞭解更多信息,請參閱Camera resolution sample

+0

謝謝!我寫了一個MediaCapture實現(很大程度上是從該示例中竊取的),但希望能夠切換。我喜歡CameraCaptureUI類中默認可用的裁剪功能,並且使用MediaCapture進行再現時似乎非常耗時。 – DeannaD