我一直在(iOS系统上)尝试这个功能,因为我想要方形照片而不是长方形的,以下是我的体验。
设置1
options: CameraOptions = {
quality: 40,
allowEdit: false, // OR unset as to allow default 'false'
cameraDirection: 1, // BACK: 0 FRONT: 1
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
targetHeight: 200,
targetWidth: 200
}
SETTING 2
options: CameraOptions = {
quality: 40,
allowEdit: true,
cameraDirection: 1, // BACK: 0 FRONT: 1
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
targetHeight: 200,
targetWidth: 200
}
设置1返回的是矩形照片,保留了正常的宽高比,并且其中一边被设置为“targetHeight”或“targetWidth”,作为最大高度或最大宽度。
文档:拍照并返回缩略图(调整图片大小)
为了获得更小的图像,您可以通过传递CameraOptions对象中的targetHeight和targetWidth值来返回调整大小的图像。在这个例子中,您将调整返回的图像以适应一个100px×100px的框(保持纵横比,因此100px是源中高度或宽度中较大的一个)。
使用设置2时,照片似乎是按照正常方式拍摄的,然后在拍摄照片后,当您得到接受或重新拍摄选项时,会有一个黄色的框覆盖在照片中心指定的尺寸上,从而显示用户批准后的裁剪效果。因此,这里的重点区别在于它不会最初拍摄正方形照片,但会返回一个正方形照片。
请注意,设置2在Android上可能无法正常工作
allowEdit在Android上不可预测,不应使用!该插件的Android实现尝试查找并使用用户设备上的应用程序进行图像裁剪。插件无法控制用户选择哪个应用程序来执行图像裁剪,用户可能会选择不兼容的选项导致插件失败。这有时可以工作,因为大多数设备都带有一个处理裁剪的应用程序,该应用程序与此插件兼容(Google Plus Photos),但依赖于这种情况是不明智的。如果图像编辑对您的应用程序至关重要,请考虑寻求第三方库或插件,以提供自己的图像编辑实用程序,以获得更强大的解决方案。