Ver Mensaje Individual
  #4  
Antiguo 27-07-2023
Delphi01 Delphi01 is offline
Miembro
 
Registrado: nov 2015
Ubicación: Barcelona,España
Posts: 68
Reputación: 9
Delphi01 Va por buen camino
Cita:
Empezado por Jose Roman Ver Mensaje
Cordial saludo,

Trabajo con Delphi 11 y resulta que una App de una entidad financiera llamada AULA al momento de inscribirme me solicita mi DNI, este debo subirlo a una imagen, lo que me agrado es que hay un recuadro en la pantalla donde no puede pasarse de los marcos la imagen y esta toma la foto automáticamente cuando está bien enfocada y que no salga de este marco. La pregunta es, ¿Alguien sabe cómo hacer esto en Delphi?
Para lograr el efecto de tomar una foto automáticamente cuando el DNI está bien enfocado y no sale del marco, se puede utilizar la biblioteca de procesamiento de imágenes de Delphi. Aquí hay algunos pasos generales que se pueden seguir:

1. Crea un formulario en Delphi que tenga un componente de cámara web y un componente de imagen.

2. Configura el componente de cámara web para que muestre la vista previa de la cámara en el formulario.

3. Crea un marco en el formulario que represente el área donde se debe enfocar el DNI.

4. Utiliza el componente de procesamiento de imágenes de Delphi para detectar si el DNI está dentro del marco y si está enfocado.

5. Si el DNI está dentro del marco y está enfocado, toma una foto utilizando el componente de cámara web y guárdala en un archivo.

Aquí hay un ejemplo de código que utiliza la biblioteca de procesamiento de imágenes de Delphi para detectar si un objeto está dentro de un marco:
Código:
uses
  Vcl.Imaging.jpeg, Vcl.Imaging.pngimage, Vcl.Graphics;

function IsObjectInFrame(const ObjRect, FrameRect: TRect): Boolean;
begin
  Result := (ObjRect.Left >= FrameRect.Left) and
            (ObjRect.Top >= FrameRect.Top) and
            (ObjRect.Right <= FrameRect.Right) and
            (ObjRect.Bottom <= FrameRect.Bottom);
end;
Este código toma dos parámetros: ObjRect, que representa el rectángulo que rodea al objeto que se está detectando, y FrameRect, que representa el rectángulo que rodea al marco donde se debe enfocar el objeto. La función devuelve True si el objeto está dentro del marco y False en caso contrario.
Para tomar la foto automáticamente cuando el DNI está bien enfocado y no sale del marco, se puede llamar a la función IsObjectInFrame en un bucle mientras se muestra la vista previa de la cámara web en el formulario. Cuando la función devuelve True, se puede tomar una foto utilizando el componente de cámara web y guardarla en un archivo.
Es importante tener en cuenta que la implementación exacta de este proceso dependerá del componente de cámara web y la biblioteca de procesamiento de imágenes que se utilice. Se recomienda consultar la documentación y los ejemplos de código proporcionados por los proveedores de estos componentes para obtener más información sobre cómo utilizarlos en Delphi.
Responder Con Cita