2016-10-25 19 views
0

Ich arbeite an einer einfachen App, die ein Foto mit der Kamera machen sollte. Die Kamera arbeitet und macht das Bild. Ich kann das Bild jedoch nicht anzeigen. Ich bekomme eine leere graue Box. In dieser Box sollte das Bild erscheinen, was nicht der Fall ist. Hat jemand eine Idee?Ionic 2 Kamera Foto nicht angezeigt

EDIT: Wenn ich die App auf dem Android-Emulator ausführen, kann ich ein Foto (integrierte Android-Funktion) und zeigen, dass in der App. Wann immer ich es über die Ionic View App oder über den iOS Emulator veröffentliche, kann ich das Bild nicht sehen.

EDIT 2: Ich kann die App auf einem Android-Gerät ausführen. Ich nehme an, dass die Ionic View App manchmal ein bisschen buggy ist.

Hier ist mein Code:

<ion-header> 
    <ion-navbar> 
     <ion-title> 
      Contact 
     </ion-title> 
    </ion-navbar> 
</ion-header> 

<ion-content> 
    <button ion-button (click)="takePicture()">Take photo</button> 
    <button ion-button (click)="sendData()">Send</button> 
    <ion-card> 
     <ion-card-content> 
      <img [src]="base64Image" *ngIf="base64Image" /> 
     </ion-card-content> 
    </ion-card> 
</ion-content> 

Typoskript-Datei:

import {Component} from '@angular/core'; 
import {Camera} from 'ionic-native'; 


@Component({ 
    selector: 'page-contact', 
    templateUrl: 'contact.html' 
}) 
export class ContactPage { 

    public base64Image: string; 

constructor() { 

} 

takePicture() { 
    Camera.getPicture({ 
     destinationType: 0, 
     targetWidth: 1000, 
     targetHeight: 1000 
    }).then((imageData) => { 
     this.base64Image = "data:image/jpeg;base64," + imageData; 
    }, (err) => { 
     console.log(err); 
    }); 
} 
} 

Antwort

0

ändern Sie Ihren ersten Parameter in GetPicture():

destinationType: Camera.DestinationType.DATA_URL,

Edit: ionische Ansicht doesn‘ t spielen schön mit Plugins. Der einzige echte Test, den Sie durchführen können, ist die Ausführung auf einem Gerät. Ich habe deinen Code ausprobiert und er läuft auf meinem Android-Handy.

+0

Ja, ich habe es auch auf einem Android-Gerät getestet und es funktioniert. Die Camera.DestinationType.DATA_URL, wie Sie vorschlagen, funktioniert nicht für mich. Ich bekomme einen Fehler, dass es ein privates Mitglied ist und daher nicht zugänglich ist. – RSSD

0
Camera.getPicture({ 
     destinationType: Camera.DestinationType.DATA_URL, 
     targetWidth: 1000, 
     targetHeight: 1000, 
     encodingType: Camera.EncodingType.JPEG, 
     sourceType: Camera.PictureSourceType.PHOTOLIBRARY, 
     allowEdit:true }).then((imageData)=>{ 

     this.images.push(imageData); 
    }); 

Versuchen Sie den obigen Code. Es funktioniert im iOS-Emulator.

+0

Auch die ionische Sicht auf iOs hat einige Probleme. Stellen Sie daher sicher, dass Sie Ihren Code auf einem Emulator oder einem iOS-Gerät testen. – Pops

Verwandte Themen