离子裁剪没有 UI 的图像

Posted

技术标签:

【中文标题】离子裁剪没有 UI 的图像【英文标题】:Ionic cropping an image without UI 【发布时间】:2018-08-13 14:07:41 【问题描述】:

问题

我一直在尝试使用 camera preview 插件从相机拍摄的 base64 图像裁剪为 4:3 分辨率,而用户没有进行任何裁剪输入,但没有成功。

到目前为止,我尝试过的大多数插件都会强制使用 UI,但出于我的目的,它需要裁剪为 4:3,然后以相同的分辨率发送到服务器。

我试过的

我尝试调整离子原生插件但没有成功。 我还尝试了许多其他论坛帖子中建议的不同 Cordova 插件,例如:

Cropper.js

Croppr.js

Cordova Plugin Crop - 没有离子原生端

iCrop

据我所知,所有这些都强制使用 UI,并且不允许您指定纵横比。

【问题讨论】:

我们通过在服务器上裁剪解决了这个问题,这样我们就可以控制裁剪。原来 iosandroid 中的裁剪不一致。 @BasvanDijk 感谢您的快速响应,我们最终采纳了您的建议并编写了一个 Laravel 控制器来处理将图像发送到服务器的过程。 【参考方案1】:

在我们的应用中,我们也需要裁剪图片。然而事实证明(尤其是在 Android 设备上)拍照后的裁剪方式取决于品牌、型号甚至相机应用。

在 Ionic 3 中,相机插件有一个选项 allowEdit。将其设置为 true 时会有一些副作用。例如,一些用户以非常奇怪的纵横比裁剪图片,例如:1:15,因此宽度非常小,高度非常大。当您允许用户编辑他们的图片时,请记住这一点。

为了获得一致的作物,我们实施了作物服务器端。为了加快速度,我们只在客户端调整图片大小并将调整大小的图片上传到服务器。

【讨论】:

感谢您的回复,我们最终得到了类似的结果,只是我们在服务器端完成了所有工作,并且只是通过一些括号向用户提供了实际图像将在何处排列的指南。

以上是关于离子裁剪没有 UI 的图像的主要内容,如果未能解决你的问题,请参考以下文章

如何从图像画布中裁剪颜色部分?

离子从相机中排除谷歌照片。PictureSourceType.PHOTOLIBRARY

ui-cropper 图像未加载

获取输出裁剪图像 URI

上传前在浏览器中裁剪图像[关闭]

呈现图像裁剪界面