2017-08-02 6 views
0

私は電話カメラで画像をキャプチャする方法をたくさん探してきました。それから私はそれを作って、最終的にファイアベースに画像をアップロードしたいと思います...画像をキャプチャしてトリミングし、イオン2の火災基地にアップロードすることは可能ですか?

イオン2は可能ですか?または、これらの3つのステップを実行する方法はありませんか?

答えて

0

電話機のカメラを使用して画像をキャプチャしてトリミングし、サーバーにアップロードできます。次の2つのオプションがあります。

  1. https://github.com/jeduan/cordova-plugin-crop
  2. https://ampersandacademy.com/tutorials/ionic-framework-version-2/upload-an-image-to-the-php-server-using-ionic-2-transfer-and-camera-plugin

オプション1:

import { Injectable } from '@angular/core'; 
import { Platform } from 'ionic-angular'; 
import { Camera, Crop } from 'ionic-native'; 

@Injectable() 
export class CameraService { 

    public options: any = { 
     allowEdit: true, 
     sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM, 
     mediaType: Camera.MediaType.ALLMEDIA, 
     destinationType: Camera.DestinationType.FILE_URI 
    } 

    constructor(public platform: Platform) {} 

    // Return a promise to catch errors while loading image 
    getMedia(): Promise<any> { 
    // Get Image from ionic-native's built in camera plugin 
    return Camera.getPicture(this.options) 
     .then((fileUri) => { 
     // Crop Image, on android this returns something like, '/storage/emulated/0/Android/...' 
     // Only giving an android example as ionic-native camera has built in cropping ability 
     if (this.platform.is('ios')) { 
      return fileUri 
     } else if (this.platform.is('android')) { 
      // Modify fileUri format, may not always be necessary 
      fileUri = 'file://' + fileUri; 

      /* Using cordova-plugin-crop starts here */ 
      return Crop.crop(fileUri, { quality: 100 }); 
     } 
     }) 
     .then((path) => { 
     // path looks like 'file:///storage/emulated/0/Android/data/com.foo.bar/cache/1477008080626-cropped.jpg?1477008106566' 
     console.log('Cropped Image Path!: ' + path); 
     return path; 
     }) 
    } 

} 
関連する問題