Cordova - Câmera

Este plugin é usado para tirar fotos ou usar arquivos da galeria de imagens.

Etapa 1 - Instale o plug-in da câmera

Execute o seguinte código no command prompt janela para instalar este plugin.

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

Etapa 2 - Adicionando botão e imagem

Agora, vamos criar o botão para chamar a câmera e imgonde a imagem será exibida uma vez tirada. Isso será adicionado aindex.html dentro de div class = "app" elemento.

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

Etapa 3 - Adicionando Listener de Eventos

O ouvinte de evento é adicionado dentro do onDeviceReady para garantir que o Cordova seja carregado antes de começarmos a usá-lo.

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

Etapa 4 - Adicionar funções (tirar foto)

Vamos criar o cameraTakePicturefunção que é passada como um retorno de chamada para nosso ouvinte de evento. Ele será disparado quando o botão for tocado. Dentro desta função, vamos chamar onavigator.cameraobjeto global fornecido pela API do plugin. Se tirar a foto com sucesso, os dados serão enviados para oonSuccessfunção callback, caso contrário, será mostrado o alerta com mensagem de erro. Colocaremos esse código na parte inferior doindex.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); 
   } 
}

Quando executamos o aplicativo e pressionamos o botão, a câmera nativa será acionada.

Quando tiramos e salvamos a foto, ela será exibida na tela.

O mesmo procedimento pode ser usado para obter a imagem do sistema de arquivos local. A única diferença é a função criada na última etapa. Você pode ver que osourceType parâmetro opcional foi adicionado.

Etapa 1 B

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

Etapa 2 B

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

Etapa 3 B

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

Etapa 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);
   }

}

Quando pressionamos o segundo botão, o sistema de arquivos será aberto em vez da câmera para que possamos escolher a imagem a ser exibida.

Este plugin oferece muitos parâmetros opcionais para personalização.

S.No Parâmetro e detalhes
1

quality

Qualidade da imagem na faixa de 0-100. O padrão é 50.

2

destinationType

DATA_URL ou 0 Retorna string codificada em base64.

FILE_URI ou 1 Retorna o URI do arquivo de imagem.

NATIVE_URI ou 2 Retorna o URI nativo da imagem.

3

sourceType

PHOTOLIBRARY ou 0 Abre a biblioteca de fotos.

CAMERA ou 1 Abre a câmera nativa.

SAVEDPHOTOALBUM ou 2 Abre o álbum de fotos salvo.

4

allowEdit

Permite edição de imagem.

5

encodingType

JPEG ou 0 Retorna imagem codificada em JPEG.

PNG ou 1 Retorna imagem codificada em PNG.

6

targetWidth

Largura de dimensionamento da imagem em pixels.

7

targetHeight

Altura do dimensionamento da imagem em pixels.

8

mediaType

PICTURE ou 0 Permite apenas a seleção de fotos.

VIDEO ou 1 Permite apenas a seleção de vídeo.

ALLMEDIA ou 2 Permite todas as seleções de tipo de mídia.

9

correctOrientation

Usado para corrigir a orientação da imagem.

10

saveToPhotoAlbum

Usado para salvar a imagem no álbum de fotos.

11

popoverOptions

Usado para definir a localização do popover no IOS.

12

cameraDirection

FRONT ou 0 Câmera frontal.

BACK ou 1 Câmera traseira.

ALLMEDIA