我们能在Flutter中改变摄像机变焦点吗?

ozxc1zmp  于 2023-03-24  发布在  Flutter
关注(0)|答案(2)|浏览(189)

bounty将在6天后过期。回答此问题可获得+50的声誉奖励。sm_sayedi正在寻找来自声誉良好来源的答案:当前答案无效。请提供一个您确定有效的答案。

我工作在一个Flutter应用程序中,我使用camera插件。我想放大到camera预览的任意点(偏移量),例如到屏幕的左上角,然后拍摄它的照片。使用CameraContoroller.setZoomLevel()方法放大到camera的中心!是否可以实现我想要的行为?提前感谢!
这就是我想要实现的!

li9yvcax

li9yvcax1#

不幸的是,你想要的行为可能不可能与相机包。这是因为相机本身不能放大到其视图的特定区域,因为缩放的方式与硬件的工作。
但是有很多方法可以达到你的预期效果。试着用一个OverflowBox和/或一个ClipRect来 Package 你的CameraPreview,并以一种只有你想放大的部分可见的方式来放置预览。但是要注意,你只以这种方式来“缩放”,因为实际的相机视图不会改变(最终的剪切效果可能会更差)。

基本上,您是通过将图像裁剪到预期区域来创建缩放的错觉。

您可以查看具体的代码示例,了解如何在this answer中实现此功能。
请记住,如果您想拍摄“缩放”区域的照片,则必须再次裁剪生成的图像(因为实际的相机视图不会更改),如the question above中所述。

nmpmafwu

nmpmafwu2#

即使在本机相机或任何其他相机上,也不可能在特定视点处进行相机变焦。
我已经检查了iPhone,android,甚至数码单反相机。由于你的相机硬件开始与一个单一的观点分散。这是不可能的变焦在一个特定的点,而不移动或校准相机。
该问题只能在捕获快照并裁剪特定区域从而给出该特定缩放的错觉之后才能解决。
然而,如果我们使用多个摄像头并将其制成一个机制,这可以解决,唯一被忽略的原因是因为这个问题并不重要。
谢谢。

相关问题