<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: Desaf&#237;o: controlar acceso a trav&#233;s de huellas</title>
	<atom:link href="http://blog.gon.cl/post/225/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.gon.cl/post/225</link>
	<description>blog respaldo anti-amnesia</description>
	<lastBuildDate>Fri, 02 Dec 2011 01:31:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Carlos</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-3316</link>
		<dc:creator>Carlos</dc:creator>
		<pubDate>Mon, 29 Aug 2011 15:18:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-3316</guid>
		<description>Alguien tiene el codigo de como hacerlo en Access 2007</description>
		<content:encoded><![CDATA[<p>Alguien tiene el codigo de como hacerlo en Access 2007</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jacobo</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-3267</link>
		<dc:creator>jacobo</dc:creator>
		<pubDate>Wed, 17 Aug 2011 14:36:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-3267</guid>
		<description>hola excelente tema……justamente me gustaria que si me pudieras ayudar con un proyecto que es implementar el control de entradas y salidas por media de huellas digitales. utilizando el lenguaje java netbeans.

es muy importante debo entregarlo antes de diciembre del 2011…porfavor

corrijo, mi correo es el siguente: jacobo_kuyoc@hotmail.com

SALUDOS!!!!</description>
		<content:encoded><![CDATA[<p>hola excelente tema……justamente me gustaria que si me pudieras ayudar con un proyecto que es implementar el control de entradas y salidas por media de huellas digitales. utilizando el lenguaje java netbeans.</p>
<p>es muy importante debo entregarlo antes de diciembre del 2011…porfavor</p>
<p>corrijo, mi correo es el siguente: <a href="mailto:jacobo_kuyoc@hotmail.com">jacobo_kuyoc@hotmail.com</a></p>
<p>SALUDOS!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jacobo</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-3264</link>
		<dc:creator>jacobo</dc:creator>
		<pubDate>Wed, 17 Aug 2011 14:23:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-3264</guid>
		<description>hola excelente tema......justamente me gustaria que si me pudieras ayudar con un proyecto que es implementar el control de entradas y salidas por media de huellas digitales.

es muy importante antes de noviembre del 2011...porfavor

SALUDOS!!!!</description>
		<content:encoded><![CDATA[<p>hola excelente tema&#8230;&#8230;justamente me gustaria que si me pudieras ayudar con un proyecto que es implementar el control de entradas y salidas por media de huellas digitales.</p>
<p>es muy importante antes de noviembre del 2011&#8230;porfavor</p>
<p>SALUDOS!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Santa</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-1446</link>
		<dc:creator>Santa</dc:creator>
		<pubDate>Wed, 15 Sep 2010 18:11:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-1446</guid>
		<description>Pueden colocar el codigo completo para activar el uso del lector de huellas, por favor.</description>
		<content:encoded><![CDATA[<p>Pueden colocar el codigo completo para activar el uso del lector de huellas, por favor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Waldo</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-1408</link>
		<dc:creator>Waldo</dc:creator>
		<pubDate>Thu, 02 Sep 2010 16:18:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-1408</guid>
		<description>Jerson; ese import corresponde a un package de NEC, este lo tienes que conseguir en NEC argentina, lo distribuyen como trial y es un tanto engorrosa la docu y es comercial.</description>
		<content:encoded><![CDATA[<p>Jerson; ese import corresponde a un package de NEC, este lo tienes que conseguir en NEC argentina, lo distribuyen como trial y es un tanto engorrosa la docu y es comercial.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jerson</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-1302</link>
		<dc:creator>jerson</dc:creator>
		<pubDate>Thu, 08 Jul 2010 13:35:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-1302</guid>
		<description>que pena es estos import

import com.digitalpersona.onetouch.DPFPGlobal;...........

gracias si me pueden ayudar la verdad quiero saber como es el manejo completo de este programita (applet)</description>
		<content:encoded><![CDATA[<p>que pena es estos import</p>
<p>import com.digitalpersona.onetouch.DPFPGlobal;&#8230;&#8230;&#8230;..</p>
<p>gracias si me pueden ayudar la verdad quiero saber como es el manejo completo de este programita (applet)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jerson</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-1301</link>
		<dc:creator>jerson</dc:creator>
		<pubDate>Thu, 08 Jul 2010 13:33:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-1301</guid>
		<description>Hector lo q pasa es q no encuentro los import  ar.com.nec.sol.acu.components.scanner.event.ScannerEvent;.........................   

soy principiante en java pero quisiera poder correr un código de estos.</description>
		<content:encoded><![CDATA[<p>Hector lo q pasa es q no encuentro los import  ar.com.nec.sol.acu.components.scanner.event.ScannerEvent;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.   </p>
<p>soy principiante en java pero quisiera poder correr un código de estos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ocarrillo</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-1227</link>
		<dc:creator>Ocarrillo</dc:creator>
		<pubDate>Fri, 11 Jun 2010 20:52:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-1227</guid>
		<description>hola Hector, excelente reto e impecable codigo, te pido una cosilla, como puedo obtener el template de la huella o cual es la clase con la que puedo tomarla para guardarla en una db y luego compararla con una nueva captura de la huella?, muchas gracias, excelente blog.</description>
		<content:encoded><![CDATA[<p>hola Hector, excelente reto e impecable codigo, te pido una cosilla, como puedo obtener el template de la huella o cual es la clase con la que puedo tomarla para guardarla en una db y luego compararla con una nueva captura de la huella?, muchas gracias, excelente blog.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: hector</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-1100</link>
		<dc:creator>hector</dc:creator>
		<pubDate>Wed, 05 May 2010 15:46:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-1100</guid>
		<description>package lectorHuella;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.SwingUtilities;

import com.digitalpersona.onetouch.DPFPGlobal;
import com.digitalpersona.onetouch.DPFPSample;
import com.digitalpersona.onetouch.capture.DPFPCapture;
import com.digitalpersona.onetouch.capture.event.DPFPDataAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPDataEvent;
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusEvent;
import com.digitalpersona.onetouch.capture.event.DPFPSensorAdapter;
import com.digitalpersona.onetouch.capture.event.DPFPSensorEvent;

/**
 * Clase que permite probar las clases para el tratamiento de una imagen
 * obtenida con el lector de huellas, para el indexado y para el almacenamiento de las
 * características de las huellas en una base de datos.
 *
 * @author Aragón Cruz Carlos Augusto
 * @author García Santiago José Miguel
 * @author Ramírez Muñoz David Cuauhtémoc
 * @author Sánchez Velasco Oscar Ernesto
 */
public class LectorHuella extends javax.swing.JApplet {

    
	private static final long serialVersionUID = 6157068737845066702L;
	private DPFPCapture capturer = DPFPGlobal.getCaptureFactory().createCapture();
    Image imagen;

    /**
     *   Inicializa los componentes.
     */
    public LectorHuella() {
        initComponents();
       // this.setLocationRelativeTo(null);
    }

    @SuppressWarnings(&quot;unchecked&quot;)
    private void initComponents() {

        lblImagen = new javax.swing.JLabel();
        btnGuardar = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        txtStatus = new javax.swing.JTextArea();

        //setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
       // setResizable(false);
        addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentHidden(java.awt.event.ComponentEvent evt) {
                formComponentHidden(evt);
            }
            public void componentShown(java.awt.event.ComponentEvent evt) {
                formComponentShown(evt);
            }
        });

        lblImagen.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblImagen.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        btnGuardar.setText(&quot;Guardar&quot;);
        btnGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGuardarActionPerformed(evt);
            }
        });

        txtStatus.setColumns(20);
        txtStatus.setRows(5);
        jScrollPane1.setViewportView(txtStatus);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap(283, Short.MAX_VALUE)
                        .addComponent(btnGuardar))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(67, 67, 67)
                        .addComponent(lblImagen, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblImagen, javax.swing.GroupLayout.PREFERRED_SIZE, 253, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnGuardar)
                .addContainerGap())
        );

       // pack();
    }

    private void formComponentHidden(java.awt.event.ComponentEvent evt) {
        capturer.stopCapture();
    }

    private void formComponentShown(java.awt.event.ComponentEvent evt) {
        configurar();
        capturer.startCapture();
    }

    private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
        guardarImagen();
    }

    /**
     * Despliega en el cuadro de texto el estado actual del lector.
     * @param estado String que contiene el estado actual del lector.
     */
    public void imprimirEstado(String estado) {
        txtStatus.append(estado + &quot;\n&quot;);
    }

    /**
     * Da tratamiento a la imagen para prepararla para obtener las minucias.
     * @param sample Objeto que tiene las caracterÃ­sitcas de la huella capturada.
     */
    protected void procesar(DPFPSample sample) {
        imagen = getMapaDeBits(sample);
        dibujarImagen();

    //código de tratamiento de la imagen

    }

    /**
     * Despliega la imagen en la etiqueta principal.
     */
    public void dibujarImagen() {
        lblImagen.setIcon(new ImageIcon(
                imagen.getScaledInstance(lblImagen.getWidth(), lblImagen.getHeight(), Image.SCALE_AREA_AVERAGING)));
    }

    /**
     *  Guarda la imagen obtenida por el lector en un archivo BMP. El nombre del
     *  archivo es temporalmente la hora en que se creÃ³ la imagen.
     */
    private void guardarImagen() {
        try {
            Calendar calendario = new GregorianCalendar();
            int hora = calendario.get(Calendar.HOUR_OF_DAY);
            int minutos = calendario.get(Calendar.MINUTE);
            int segundos = calendario.get(Calendar.SECOND);
            ImageIO.write((BufferedImage) imagen, &quot;BMP&quot;, new File(hora + &quot;-&quot; + minutos + &quot;-&quot; + segundos + &quot;.bmp&quot;));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    /**
     * Obtiene una imagen a partir del objeto cuya clase es DPFPSample.
     * @param sample un objeto DPFPSample retornado por el lector de huellas.
     * @return Una imagen a partir del objeto obtenido por el lector.
     */
    protected Image getMapaDeBits(DPFPSample sample) {
        return DPFPGlobal.getSampleConversionFactory().createImage(sample);
    }

    /**
     * Agrega al objeto capturer los eventos que permiten detectar cuando el lector
     * es conectado o desconectado a la computadora, cuando una huella es colocada
     * o retirada del lector y cuando el lector ha capturado la huella.
     */
    protected void configurar() {
        capturer.addDataListener(new DPFPDataAdapter() {

            @Override
            public void dataAcquired(final DPFPDataEvent e) {
                SwingUtilities.invokeLater(new Runnable() {

                    public void run() {
                        imprimirEstado(&quot;El lector ha capturado una huella.&quot;);
                        procesar(e.getSample());
                    }
                });
            }
        });
        capturer.addReaderStatusListener(new DPFPReaderStatusAdapter() {

            @Override
            public void readerConnected(final DPFPReaderStatusEvent e) {
                SwingUtilities.invokeLater(new Runnable() {

                    public void run() {
                        imprimirEstado(&quot;El lector fue conectado.&quot;);
                    }
                });
            }

            @Override
            public void readerDisconnected(final DPFPReaderStatusEvent e) {
                SwingUtilities.invokeLater(new Runnable() {

                    public void run() {
                        imprimirEstado(&quot;El lector fue desconectado.&quot;);
                    }
                });
            }
        });
        capturer.addSensorListener(new DPFPSensorAdapter() {

            @Override
            public void fingerTouched(final DPFPSensorEvent e) {
                SwingUtilities.invokeLater(new Runnable() {

                    public void run() {
                        imprimirEstado(&quot;El lector ha sido tocado.&quot;);
                    }
                });
            }

            @Override
            public void fingerGone(final DPFPSensorEvent e) {
                SwingUtilities.invokeLater(new Runnable() {

                    public void run() {
                        imprimirEstado(&quot;El dedo fue retirado del lector.&quot;);
                    }
                });
            }
        });

    }
    
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new LectorHuella().setVisible(true);
            }
        });
    }

    private javax.swing.JButton btnGuardar;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lblImagen;
    private javax.swing.JTextArea txtStatus;
}</description>
		<content:encoded><![CDATA[<p>package lectorHuella;</p>
<p>import java.awt.Image;<br />
import java.awt.image.BufferedImage;<br />
import java.io.File;<br />
import java.util.Calendar;<br />
import java.util.GregorianCalendar;</p>
<p>import javax.imageio.ImageIO;<br />
import javax.swing.ImageIcon;<br />
import javax.swing.SwingUtilities;</p>
<p>import com.digitalpersona.onetouch.DPFPGlobal;<br />
import com.digitalpersona.onetouch.DPFPSample;<br />
import com.digitalpersona.onetouch.capture.DPFPCapture;<br />
import com.digitalpersona.onetouch.capture.event.DPFPDataAdapter;<br />
import com.digitalpersona.onetouch.capture.event.DPFPDataEvent;<br />
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusAdapter;<br />
import com.digitalpersona.onetouch.capture.event.DPFPReaderStatusEvent;<br />
import com.digitalpersona.onetouch.capture.event.DPFPSensorAdapter;<br />
import com.digitalpersona.onetouch.capture.event.DPFPSensorEvent;</p>
<p>/**<br />
 * Clase que permite probar las clases para el tratamiento de una imagen<br />
 * obtenida con el lector de huellas, para el indexado y para el almacenamiento de las<br />
 * características de las huellas en una base de datos.<br />
 *<br />
 * @author Aragón Cruz Carlos Augusto<br />
 * @author García Santiago José Miguel<br />
 * @author Ramírez Muñoz David Cuauhtémoc<br />
 * @author Sánchez Velasco Oscar Ernesto<br />
 */<br />
public class LectorHuella extends javax.swing.JApplet {</p>
<p>	private static final long serialVersionUID = 6157068737845066702L;<br />
	private DPFPCapture capturer = DPFPGlobal.getCaptureFactory().createCapture();<br />
    Image imagen;</p>
<p>    /**<br />
     *   Inicializa los componentes.<br />
     */<br />
    public LectorHuella() {<br />
        initComponents();<br />
       // this.setLocationRelativeTo(null);<br />
    }</p>
<p>    @SuppressWarnings(&#8220;unchecked&#8221;)<br />
    private void initComponents() {</p>
<p>        lblImagen = new javax.swing.JLabel();<br />
        btnGuardar = new javax.swing.JButton();<br />
        jScrollPane1 = new javax.swing.JScrollPane();<br />
        txtStatus = new javax.swing.JTextArea();</p>
<p>        //setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);<br />
       // setResizable(false);<br />
        addComponentListener(new java.awt.event.ComponentAdapter() {<br />
            public void componentHidden(java.awt.event.ComponentEvent evt) {<br />
                formComponentHidden(evt);<br />
            }<br />
            public void componentShown(java.awt.event.ComponentEvent evt) {<br />
                formComponentShown(evt);<br />
            }<br />
        });</p>
<p>        lblImagen.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);<br />
        lblImagen.setBorder(javax.swing.BorderFactory.createEtchedBorder());</p>
<p>        btnGuardar.setText(&#8220;Guardar&#8221;);<br />
        btnGuardar.addActionListener(new java.awt.event.ActionListener() {<br />
            public void actionPerformed(java.awt.event.ActionEvent evt) {<br />
                btnGuardarActionPerformed(evt);<br />
            }<br />
        });</p>
<p>        txtStatus.setColumns(20);<br />
        txtStatus.setRows(5);<br />
        jScrollPane1.setViewportView(txtStatus);</p>
<p>        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());<br />
        getContentPane().setLayout(layout);<br />
        layout.setHorizontalGroup(<br />
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br />
            .addGroup(layout.createSequentialGroup()<br />
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br />
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()<br />
                        .addContainerGap(283, Short.MAX_VALUE)<br />
                        .addComponent(btnGuardar))<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addContainerGap()<br />
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE))<br />
                    .addGroup(layout.createSequentialGroup()<br />
                        .addGap(67, 67, 67)<br />
                        .addComponent(lblImagen, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE)))<br />
                .addContainerGap())<br />
        );<br />
        layout.setVerticalGroup(<br />
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)<br />
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()<br />
                .addContainerGap()<br />
                .addComponent(lblImagen, javax.swing.GroupLayout.PREFERRED_SIZE, 253, javax.swing.GroupLayout.PREFERRED_SIZE)<br />
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)<br />
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)<br />
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)<br />
                .addComponent(btnGuardar)<br />
                .addContainerGap())<br />
        );</p>
<p>       // pack();<br />
    }</p>
<p>    private void formComponentHidden(java.awt.event.ComponentEvent evt) {<br />
        capturer.stopCapture();<br />
    }</p>
<p>    private void formComponentShown(java.awt.event.ComponentEvent evt) {<br />
        configurar();<br />
        capturer.startCapture();<br />
    }</p>
<p>    private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {<br />
        guardarImagen();<br />
    }</p>
<p>    /**<br />
     * Despliega en el cuadro de texto el estado actual del lector.<br />
     * @param estado String que contiene el estado actual del lector.<br />
     */<br />
    public void imprimirEstado(String estado) {<br />
        txtStatus.append(estado + &#8220;\n&#8221;);<br />
    }</p>
<p>    /**<br />
     * Da tratamiento a la imagen para prepararla para obtener las minucias.<br />
     * @param sample Objeto que tiene las caracterÃ­sitcas de la huella capturada.<br />
     */<br />
    protected void procesar(DPFPSample sample) {<br />
        imagen = getMapaDeBits(sample);<br />
        dibujarImagen();</p>
<p>    //código de tratamiento de la imagen</p>
<p>    }</p>
<p>    /**<br />
     * Despliega la imagen en la etiqueta principal.<br />
     */<br />
    public void dibujarImagen() {<br />
        lblImagen.setIcon(new ImageIcon(<br />
                imagen.getScaledInstance(lblImagen.getWidth(), lblImagen.getHeight(), Image.SCALE_AREA_AVERAGING)));<br />
    }</p>
<p>    /**<br />
     *  Guarda la imagen obtenida por el lector en un archivo BMP. El nombre del<br />
     *  archivo es temporalmente la hora en que se creÃ³ la imagen.<br />
     */<br />
    private void guardarImagen() {<br />
        try {<br />
            Calendar calendario = new GregorianCalendar();<br />
            int hora = calendario.get(Calendar.HOUR_OF_DAY);<br />
            int minutos = calendario.get(Calendar.MINUTE);<br />
            int segundos = calendario.get(Calendar.SECOND);<br />
            ImageIO.write((BufferedImage) imagen, &#8220;BMP&#8221;, new File(hora + &#8220;-&#8221; + minutos + &#8220;-&#8221; + segundos + &#8220;.bmp&#8221;));<br />
        } catch (Exception ex) {<br />
            ex.printStackTrace();<br />
        }<br />
    }</p>
<p>    /**<br />
     * Obtiene una imagen a partir del objeto cuya clase es DPFPSample.<br />
     * @param sample un objeto DPFPSample retornado por el lector de huellas.<br />
     * @return Una imagen a partir del objeto obtenido por el lector.<br />
     */<br />
    protected Image getMapaDeBits(DPFPSample sample) {<br />
        return DPFPGlobal.getSampleConversionFactory().createImage(sample);<br />
    }</p>
<p>    /**<br />
     * Agrega al objeto capturer los eventos que permiten detectar cuando el lector<br />
     * es conectado o desconectado a la computadora, cuando una huella es colocada<br />
     * o retirada del lector y cuando el lector ha capturado la huella.<br />
     */<br />
    protected void configurar() {<br />
        capturer.addDataListener(new DPFPDataAdapter() {</p>
<p>            @Override<br />
            public void dataAcquired(final DPFPDataEvent e) {<br />
                SwingUtilities.invokeLater(new Runnable() {</p>
<p>                    public void run() {<br />
                        imprimirEstado(&#8220;El lector ha capturado una huella.&#8221;);<br />
                        procesar(e.getSample());<br />
                    }<br />
                });<br />
            }<br />
        });<br />
        capturer.addReaderStatusListener(new DPFPReaderStatusAdapter() {</p>
<p>            @Override<br />
            public void readerConnected(final DPFPReaderStatusEvent e) {<br />
                SwingUtilities.invokeLater(new Runnable() {</p>
<p>                    public void run() {<br />
                        imprimirEstado(&#8220;El lector fue conectado.&#8221;);<br />
                    }<br />
                });<br />
            }</p>
<p>            @Override<br />
            public void readerDisconnected(final DPFPReaderStatusEvent e) {<br />
                SwingUtilities.invokeLater(new Runnable() {</p>
<p>                    public void run() {<br />
                        imprimirEstado(&#8220;El lector fue desconectado.&#8221;);<br />
                    }<br />
                });<br />
            }<br />
        });<br />
        capturer.addSensorListener(new DPFPSensorAdapter() {</p>
<p>            @Override<br />
            public void fingerTouched(final DPFPSensorEvent e) {<br />
                SwingUtilities.invokeLater(new Runnable() {</p>
<p>                    public void run() {<br />
                        imprimirEstado(&#8220;El lector ha sido tocado.&#8221;);<br />
                    }<br />
                });<br />
            }</p>
<p>            @Override<br />
            public void fingerGone(final DPFPSensorEvent e) {<br />
                SwingUtilities.invokeLater(new Runnable() {</p>
<p>                    public void run() {<br />
                        imprimirEstado(&#8220;El dedo fue retirado del lector.&#8221;);<br />
                    }<br />
                });<br />
            }<br />
        });</p>
<p>    }</p>
<p>    public static void main(String args[]) {<br />
        java.awt.EventQueue.invokeLater(new Runnable() {</p>
<p>            public void run() {<br />
                new LectorHuella().setVisible(true);<br />
            }<br />
        });<br />
    }</p>
<p>    private javax.swing.JButton btnGuardar;<br />
    private javax.swing.JScrollPane jScrollPane1;<br />
    private javax.swing.JLabel lblImagen;<br />
    private javax.swing.JTextArea txtStatus;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gonzalo D&#237;az Cruz</title>
		<link>http://blog.gon.cl/post/225/comment-page-1#comment-468</link>
		<dc:creator>Gonzalo D&#237;az Cruz</dc:creator>
		<pubDate>Sun, 25 Jan 2009 15:47:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gon.cl/?p=225#comment-468</guid>
		<description>@&lt;a href=&quot;#comment-467&quot; rel=&quot;nofollow&quot;&gt;Alejandro Della Penna&lt;/a&gt;:  El &lt;a href=&quot;https://www.griaulebiometrics.com/&quot; rel=&quot;nofollow&quot;&gt;griaule biometrics&lt;/a&gt; tiene un SDK (Fingrprint SDK) y el driver (Fingercap). Cuando acabas de instalar el SDK te ofrece instalar el driver.

Y por cierto, cuenta con un ejemplo en java, incluso en un applet (lo que me imagino te ayudar&#225; a coordinar el login v&#237;a web).

Lo &#250;nico malo del asunto, es que no es libre y adem&#225;s cobran licencia. La licencia de &quot;developer&quot; te da permiso de uso durante 90 d&#237;as sin limitaciones.</description>
		<content:encoded><![CDATA[<p>@<a href="#comment-467" rel="nofollow">Alejandro Della Penna</a>:  El <a href="https://www.griaulebiometrics.com/" rel="nofollow">griaule biometrics</a> tiene un SDK (Fingrprint SDK) y el driver (Fingercap). Cuando acabas de instalar el SDK te ofrece instalar el driver.</p>
<p>Y por cierto, cuenta con un ejemplo en java, incluso en un applet (lo que me imagino te ayudar&aacute; a coordinar el login v&iacute;a web).</p>
<p>Lo &uacute;nico malo del asunto, es que no es libre y adem&aacute;s cobran licencia. La licencia de &#8220;developer&#8221; te da permiso de uso durante 90 d&iacute;as sin limitaciones.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 1.418 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-05 16:11:01 -->

