[英]Zoom with the telephoto lens with CameraX
在我的應用程序中,變焦僅限於主鏡頭,而不是設備的長焦鏡頭(如果有的話)。
長焦鏡頭可以由任何制造商提供; 我不希望實現特定於制造商設備的 API 來訪問長焦或廣角鏡頭。
這會導致不太理想的圖片,並且應用程序無法進一步縮放到主攝像頭的縮放限制。
如何使用長焦鏡頭(如果可能,也可以使用廣角鏡頭)放大我的應用程序?
謝謝。
CameraX 根本無法為您提供您想要/需要的相機/鏡頭。 您可以將縮放級別設置為最低可用,並希望獲得最好的結果。 您可以嘗試 Camera2,但也不能保證。
理論上,如果您將縮放比例設置為低於 1.0f,這應該會使 cameraX 使用廣角相機。 實際上,除了 Pixel 6 之外,我從未見過任何設備支持此功能。 甚至 Google Pixel 也無法實現必要的功能來支持帶有 CameraX 的 3rd 方相機應用程序。 如果您想檢查,可以通過以下方式設置最小可用縮放:在大多數設備中,您會看到最小縮放為 1.0f,而在 Pixel 6 中為 ~0.7f。
val maxAvailableZoom = camera?.cameraInfo?.zoomState?.value?.maxZoomRatio
val minAvailableZoom = camera?.cameraInfo?.zoomState?.value?.minZoomRatio ?: 1f
camera?.cameraControl?.setZoomRatio(minAvailableZoom)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.