Codenameone 放大和缩小照片和视频

Codenameone 放大和缩小照片和视频,codenameone,Codenameone,在代码名为One的容器中显示照片或视频时,如何以编程方式放大和缩小(在停止和播放的情况下) 容器应具有固定的尺寸,以便缩放可以裁剪图像或视频 我的用例是一个方形容器,在其中放大和剪切照片或视频时(甚至在播放期间),可以用手指缩放和移动照片或视频。这是一项类似Instagram的功能 我认为实现这一点需要一个自定义组件。谢谢你的建议,我希望它不会太难实施 用两个例子更新问题: 注1:照片和视频实际上并没有被裁剪,但当照片或视频被缩放以填充所有宽度空间时,它们似乎被裁剪了 注2:照片和视频的左下角有

在代码名为One的容器中显示照片或视频时,如何以编程方式放大和缩小(在停止和播放的情况下)

容器应具有固定的尺寸,以便缩放可以裁剪图像或视频

我的用例是一个方形容器,在其中放大和剪切照片或视频时(甚至在播放期间),可以用手指缩放和移动照片或视频。这是一项类似Instagram的功能

我认为实现这一点需要一个自定义组件。谢谢你的建议,我希望它不会太难实施

用两个例子更新问题:

注1:照片和视频实际上并没有被裁剪,但当照片或视频被缩放以填充所有宽度空间时,它们似乎被裁剪了

注2:照片和视频的左下角有一个小按钮,可以放大和缩小照片或视频。只有两个缩放级别:“默认”缩放填充所有可用宽度空间(裁剪照片或视频),另一个缩放使照片或视频适合可用空间。该按钮允许在这两个缩放因子之间切换

注3:该按钮允许在播放过程中缩放视频(第二个示例)

缩放、移动和裁剪静态照片的示例1:

播放期间缩放和剪切视频的示例2:


这可以通过
ImageViewer
及其
getcropedimage
方法实现。您可以在顶部绘制方形覆盖以实现形状,也可以覆盖
calcPreferredSize()
以强制调整查看器的大小。

谢谢Shai,这种方法可能适用于照片,但不适用于视频。顺便问一下,
ImageViewer
允许我将缩放设置为代码级别?我更新了我的问题,添加了三个注释和两个示例视频来解释我的意思:你能考虑一下这两个视频和我添加的注释来扩展你的答案吗?感谢您的支持您可以在代码中动态操作图像查看器缩放级别。是的,你说得对,我们没有视频的缩放/剪切功能。您可以通过创建一个在比分层布局中的视图区域大的区域中播放视频的布局来实现这一点。这样,您就不会看到实际裁剪的区域。容器需要返回裁剪首选大小才能完成此操作。