本文共 2027 字,大约阅读时间需要 6 分钟。
本文内容
自定义相机拍照,上传图片
这个同样可以实现相机拍照,但是是调用的系统的相机,相对于自定义较为简单,功能很强大。
这个可以实现自定义相机的界面效果
render() { return (); } /* * 点击拍照 * */ takePicture() { //jpegQuality 1-100, 压缩图片 const options = {jpegQuality: 50}; this.camera.capture({options}) .then((data) =>{ console.log(data); /*图片本地路径*/ this.setState({ imagePath: data.path, }); /*获取图片大小*/ Image.getSize(data.path,(width,height) =>{ console.log(width,height); }); }) .catch(err => console.error(err)); }const styles = StyleSheet.create({ container: { flex: 1, flexDirection: 'row', }, preview: { flex: 1, justifyContent: 'flex-end', alignItems: 'center' }, capture: { flex: 0, backgroundColor: '#fff', borderRadius: 5, color: '#000', padding: 10, margin: 40 }}); { this.camera = cam; }} // Camera.constants.CaptureTarget.cameraRoll (default), 相册 // Camera.constants.CaptureTarget.disk, 本地 // Camera.constants.CaptureTarget.temp 缓存 // 很重要的一个属性,最好不要使用默认的,使用disk或者temp, // 如果使用了cameraRoll,则返回的path路径为相册路径,图片没办法显示到界面上 captureTarget={Camera.constants.CaptureTarget.temp} mirrorImage={ false} //"high" (default),"medium", "low", "photo", "1080p", "720p", "480p". captureQuality="medium" style={styles.preview} aspect={Camera.constants.Aspect.fill} > [点击拍照] /*拍照完毕,显示图片到界面上*/
转载地址:http://kfrni.baihongyu.com/