Cordova - aparat

Ta wtyczka służy do robienia zdjęć lub używania plików z galerii obrazów.

Krok 1 - Zainstaluj wtyczkę aparatu

Uruchom następujący kod w command prompt okno, aby zainstalować tę wtyczkę.

C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincamera

Krok 2 - Dodawanie przycisku i obrazu

Teraz utworzymy przycisk do wywoływania aparatu i imggdzie zdjęcie zostanie wyświetlone po wykonaniu. To zostanie dodane doindex.html w środku div class = "app" element.

<button id = "cameraTakePicture">TAKE PICTURE</button>
<img id = "myImage"></img>

Krok 3 - Dodawanie detektora zdarzeń

Odbiornik zdarzeń jest dodawany wewnątrz onDeviceReady funkcja, aby upewnić się, że Cordova zostanie załadowana, zanim zaczniemy jej używać.

document.getElementById("cameraTakePicture").addEventListener 
   ("click", cameraTakePicture);

Krok 4 - Dodawanie funkcji (robienie zdjęć)

Stworzymy cameraTakePicturefunkcja, która jest przekazywana jako wywołanie zwrotne do naszego detektora zdarzeń. Zostanie uruchomiony po dotknięciu przycisku. Wewnątrz tej funkcji będziemy wywoływaćnavigator.cameraglobalny obiekt udostępniany przez API wtyczki. Jeśli zdjęcie się powiedzie, dane zostaną przesłane doonSuccessfunkcja callback, jeśli nie, zostanie wyświetlony alert z komunikatem o błędzie. Umieścimy ten kod na doleindex.js.

function cameraTakePicture() { 
   navigator.camera.getPicture(onSuccess, onFail, {  
      quality: 50, 
      destinationType: Camera.DestinationType.DATA_URL 
   });  
   
   function onSuccess(imageData) { 
      var image = document.getElementById('myImage'); 
      image.src = "data:image/jpeg;base64," + imageData; 
   }  
   
   function onFail(message) { 
      alert('Failed because: ' + message); 
   } 
}

Po uruchomieniu aplikacji i naciśnięciu przycisku zostanie uruchomiony aparat natywny.

Kiedy zrobimy i zapiszemy zdjęcie, zostanie ono wyświetlone na ekranie.

Tej samej procedury można użyć do pobrania obrazu z lokalnego systemu plików. Jedyną różnicą jest funkcja utworzona w ostatnim kroku. Widać, że pliksourceType dodano opcjonalny parametr.

Krok 1 B

C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincamera

Krok 2 B

<button id = "cameraGetPicture">GET PICTURE</button>

Krok 3 B

document.getElementById("cameraGetPicture").addEventListener("click", cameraGetPicture);

Krok 4 B

function cameraGetPicture() {
   navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
      destinationType: Camera.DestinationType.DATA_URL,
      sourceType: Camera.PictureSourceType.PHOTOLIBRARY
   });

   function onSuccess(imageURL) {
      var image = document.getElementById('myImage');
      image.src = imageURL;
   }

   function onFail(message) {
      alert('Failed because: ' + message);
   }

}

Po naciśnięciu drugiego przycisku zamiast aparatu otworzy się system plików, dzięki czemu możemy wybrać obraz, który ma być wyświetlany.

Ta wtyczka oferuje wiele opcjonalnych parametrów dostosowywania.

S.Nr Parametry i szczegóły
1

quality

Jakość obrazu w zakresie 0-100. Wartość domyślna to 50.

2

destinationType

DATA_URL lub 0 Zwraca ciąg zakodowany w standardzie Base64.

FILE_URI lub 1 Zwraca identyfikator URI pliku obrazu.

NATIVE_URI lub 2 Zwraca natywny identyfikator URI obrazu.

3

sourceType

PHOTOLIBRARY lub 0 Otwiera bibliotekę zdjęć.

CAMERA lub 1 Otwiera natywny aparat.

SAVEDPHOTOALBUM lub 2 Otwiera zapisany album ze zdjęciami.

4

allowEdit

Umożliwia edycję obrazu.

5

encodingType

JPEG lub 0 Zwraca obraz zakodowany w formacie JPEG.

PNG lub 1 Zwraca obraz zakodowany w formacie PNG.

6

targetWidth

Szerokość skalowania obrazu w pikselach.

7

targetHeight

Wysokość skalowania obrazu w pikselach.

8

mediaType

PICTURE lub 0 Pozwala tylko na wybór obrazu.

VIDEO lub 1 Pozwala tylko na wybór wideo.

ALLMEDIA lub 2 Umożliwia wybór wszystkich typów mediów.

9

correctOrientation

Służy do korygowania orientacji obrazu.

10

saveToPhotoAlbum

Służy do zapisywania obrazu w albumie fotograficznym.

11

popoverOptions

Służy do ustawiania lokalizacji popover w systemie IOS.

12

cameraDirection

FRONT lub 0 Przednia kamera.

BACK lub 1 Tylna kamera.

ALLMEDIA