首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在离子3中从画廊中获取或选择图像

如何在离子3中从画廊中获取或选择图像
EN

Stack Overflow用户
提问于 2017-11-05 06:16:39
回答 4查看 21.3K关注 0票数 10

如何在离子3中从画廊中获取图像?

我未能从图片库中获取图片

https://ionicframework.com/docs/native/camera/

https://ionicframework.com/docs/native/camera-preview/

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-11-05 10:00:45

您可以使用本地摄像机插件来完成它。

.ts

代码语言:javascript
复制
 //take Photo
  takePhoto(sourceType:number) {
    const options: CameraOptions = {
      quality: 50,
      destinationType: this.camera.DestinationType.DATA_URL,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE,
      correctOrientation: true,
      sourceType:sourceType,
    }

    this.camera.getPicture(options).then((imageData) => {
      let base64Image = 'data:image/jpeg;base64,' + imageData;
    }, (err) => {
      // Handle error
    });
  }

注意:只需调用上面的方法就可以了,如:

this.takePhoto(0);//photo library

this.takePhoto(1);//camera

0 for photo library 1 for Camera

用户界面

票数 43
EN

Stack Overflow用户

发布于 2018-11-09 01:31:07

在投票最多的答案之后,一个简短的片段。

定义两个选项类型:

代码语言:javascript
复制
  private optionsCamera: CameraOptions = {
    quality: 100,
    targetWidth: 600,
    sourceType: this.camera.PictureSourceType.CAMERA,
    destinationType: this.camera.DestinationType.DATA_URL,
    encodingType: this.camera.EncodingType.JPEG,
    mediaType: this.camera.MediaType.PICTURE
  }

  private optionsGallery: CameraOptions = {
    quality: 100,
    sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
    destinationType: this.camera.DestinationType.DATA_URL,
    encodingType: this.camera.EncodingType.JPEG,
    mediaType: this.camera.MediaType.PICTURE
  }

当你称你的方法为getPicture

为适当的情况替换options对象。

这是给相机用的

代码语言:javascript
复制
this.camera.getPicture(this.optionsCamera).then((imageData) => {
  let base64Image = 'data:image/jpeg;base64,' + imageData;
 }, (err) => {
  // Handle error
  console.log(err)
 })

这是给画廊的

代码语言:javascript
复制
this.camera.getPicture(this.optionsGallery).then((imageData) => {
  let base64Image = 'data:image/jpeg;base64,' + imageData;
 }, (err) => {
  // Handle error
  console.log(err)
 })
票数 3
EN

Stack Overflow用户

发布于 2018-06-10 05:46:05

试试这个:

代码语言:javascript
复制
TakeCamera() {
    const options: CameraOptions = {
      quality: 100,
      destinationType: this.camera.DestinationType.DATA_URL,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE
    }
    this.camera.getPicture(options).then((imageData) => {
      this.base64Image = 'data:image/jpeg;base64,' + imageData;
      this.photos.push(this.base64Image);
      this.photos.reverse();
    }, (err) => {
      console.log(err);
    });
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47118760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档