Acionar web cam - fotografar

3 respostas
A

Pra turma da chicara, meu olá depois de muito tempo.
Bom… estou precisando implementar aquele recurso de fotografar o usuário com a web cam.
Controle de ponto informal, essas coisas.
Alguém poderia me ajudar?

Um abraço a todos.
Desde já agradeço.

3 Respostas

alandiniz

a parte do front-end tem pronto http://www.primefaces.org/showcase-labs/ui/photoCam.jsf

A

Muito obrigado, amizade.

alandiniz

foi bom vc ter tocado no assunto, pq eu tbm to precisando ^^
fiz um teste aqui e fiz gravar em disco

primeiro temos o bean:
package br.com.techsquare.controller;

import br.com.techsquare.util.FTPUtil;
import javax.faces.bean.ManagedBean;
                          
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
  
import javax.faces.context.FacesContext;  
import javax.imageio.stream.FileImageOutputStream;  
import javax.servlet.ServletContext;  
import org.primefaces.model.CroppedImage;
  
/**
 *
 * @author alan
 */
@ManagedBean
public class TesteController {
    private CroppedImage croppedImage;  
    private String newImageName;
      
    public CroppedImage getCroppedImage() {  
        return croppedImage;  
    }  
  
    public void setCroppedImage(CroppedImage croppedImage) {  
        this.croppedImage = croppedImage;  
    }  

    
    public String crop() {  
        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();  
        String newFileName = "c:\\arquivo.jpg";  
          
        FileImageOutputStream imageOutput;  
        try {  
            imageOutput = new FileImageOutputStream(new File(newFileName));  
            imageOutput.write(croppedImage.getBytes(), 0, croppedImage.getBytes().length);  
            imageOutput.close();  
            byte[] a;
            a = croppedImage.getBytes();
            //ak com essa variavel 'a' você pode gravar no banco de dados ou enviar em um ftp, por exemplo..
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
          
        return null;  
    }

    public String getNewImageName() {
        return newImageName;
    }

    public void setNewImageName(String newImageName) {
        this.newImageName = newImageName;
    }
    
    
}
e a visao
<h:form>
            <h:panelGrid columns="2">  
                <p:imageCropper value="#{testeController.croppedImage}"  
                                image="/img/alfa.jpg"  
                                minSize="80,80" maxSize="80,80"/>  

                <p:graphicImage id="localCroppedImage"  
                                value="#{testeController.newImageName}" />  
            </h:panelGrid>  

            <p:commandButton value="Crop"  
                             action="#{testeController.crop()}"  
                             update="localCroppedImage"/>  
        </h:form>
Criado 17 de abril de 2012
Ultima resposta 18 de abr. de 2012
Respostas 3
Participantes 2