当显示在Codename One容器中时,如何以编程方式放大和缩小照片或视频(无论是停止还是回放)?
容器的尺寸应固定,以便缩放可以裁剪图像或视频。
我的用例是一个方形容器,当放大或裁剪(甚至在播放过程中)时,可以用手指缩放或移动照片或视频。该功能类似于Instagram的功能。
我认为必须要有一个自定义组件才能实现。谢谢您的建议,希望实施起来不会太困难。
使用两个示例更新问题:
注释1 :照片和视频实际上并未被裁剪,但是当照片或视频被缩放以填充所有宽度空间时,它们似乎被裁剪了。
注释2 :照片和视频的左下方有一个小按钮,可用于放大和缩小照片或视频。缩放只有两个级别:“默认”缩放将填充所有可用的宽度空间(裁剪照片或视频),另一个缩放使照片或视频适合该可用空间。该按钮允许在这两个缩放因子之间切换。
注3 :该按钮允许在播放过程中缩放视频(第二个示例)
缩放,移动和裁剪静态照片的示例1:
在视频播放期间缩放和裁剪视频的示例2:
答案 0 :(得分:1)
这可以通过ImageViewer
及其getCroppedImage
方法来实现。您可以在顶部绘制正方形的叠加层以获得形状,也可以覆盖calcPreferredSize()
来强制查看器的大小。