在 Codename One 中裁剪和居中化身,允许用户选择要裁剪的区域

Crop and center an avatar in Codename One allowing the user to choose the region to crop

关于 Codename One 中的裁剪和居中头像,我在手册、Javadoc 和博客中看到了类似的示例,例如这里的第一段代码: https://www.codenameone.com/javadoc/com/codename1/capture/Capture.html

但我需要一些不同且更难的东西。

主要问题是脸部并不总是位于照片的正中央。一些应用程序允许用户选择要裁剪的区域。

例如,假设拍摄照片后它看起来自动裁剪并居中,因此:

当然错了,我要狮子在中间。在这种情况下,如果用户可以双指缩放狮子并将其拖动到裁剪区域的中心,则效果如下:

我不知道从哪里开始用代号一做这件事。是否可以使用拍摄照片后立即显示的表格来完成此操作,允许捏合缩放并将照片居中放置在裁剪区域中,如上图所示?谢谢你的建议。

这很重要,但我们可能应该有一个标准化的组件来做到这一点。一般来说,最好的方法是将 ImageViewer 作为分层布局组件,并在顶部放置一个覆盖遮罩。这很容易实现。

困难的部分是根据 ImageViewer class 的 scale/pan 值正确切割图像。