Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Cuadro de captura de foto. (https://www.clubdelphi.com/foros/showthread.php?t=68262)

yapt 03-06-2010 22:20:40

Cuadro de captura de foto.
 
Hola a todos,

siguiendo con el asunto de la captura de "fotos" con la WebCam, ahora me tocan los temas finales.

Necesito limitar (mejor dicho, indicar al usuario de la aplicación) el área de la foto que va a capturarse. Para eso estaba pensando en "pintar" un cuadro encima del video.

[ x ]

Algo así como lo que se vé en las cámaras de fotos. Algo sobre-impresionado que me permita ver los límites adecuadamente.

Todavía no he empezado, pero me gustaría saber, antes de reinventar la rueda, si alguien tiene alguna idea para hacer esto.

Gracias.

radenf 04-06-2010 01:03:49

Estimado yapt :

Yo utilizo para ello los componentes SizeComps, de distribución gratuita que puedes encontrar en este link

http://mxs.bergsoft.net/index.php?p=3

Un ejemplo en este programa de mi creación en este link

http://www.clubdelphi.com/foros/show...&postcount=133

Espero que sea lo que tú andas buscando

Salu2

felipe88 04-06-2010 04:27:30

Cita:

Empezado por radenf (Mensaje 366148)
Estimado yapt :

Yo utilizo para ello los componentes SizeComps, de distribución gratuita que puedes encontrar en este link

http://mxs.bergsoft.net/index.php?p=3

Un ejemplo en este programa de mi creación en este link

http://www.clubdelphi.com/foros/show...&postcount=133

Espero que sea lo que tú andas buscando

Salu2

Eso esta interesante, gracias por el aporte.


Saludos!

yapt 04-06-2010 12:13:30

Cita:

Empezado por radenf (Mensaje 366148)
Un ejemplo en este programa de mi creación en este link

http://www.clubdelphi.com/foros/show...&postcount=133

Espero que sea lo que tú andas buscando

Perdón por el retraso..... no funciona mi notificación de respuestas.. sic.. :(

Pues SI, tu programa... Es JUSTO lo que estoy buscando.... Pero tengo algunas preguntas...

1.- Que ofrecen los SizeComps que no se pueda hacer con un Shape normal ? En cualquier caso, los miro a ver que puedo hacer (aunque tengo Delphi 2010 y me parece que no van a estar para D2010)...

2.- Como, una vez capturado el snapshot, obtienes el cuadro final de la fotografía ? Es decir, como cortas la foto para ajustarla al tamaño del "shape" ?

Gracias.

radenf 04-06-2010 13:02:11

Estimado yapt :

Respecto a tu primera pregunta no tengo idea porque no uso el componente TShape.
La segunda pregunta te la respondo adjuntando el código requerido:

Código Delphi [-]
procedure TCapFoto.BtnRecortarClick(Sender: TObject);
Var New, Old : TRect;
Bitmap:TBitmap;
Begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\foto.bmp');
New.Left:=SizeRect1.ClientRect.Left;
New.Top:=SizeRect1.ClientRect.Top;
New.Right:=SizeRect1.ClientRect.Right;
New.Bottom:=SizeRect1.ClientRect.Bottom;
Old := New;
Image2.Create(Self);
Image2.Left:=SizeRect1.Left;
Image2.Top:=SizeRect1.Top;
Image2.Height:=SizeRect1.Height;
Image2.Width:=SizeRect1.Width;
Image2.Canvas.CopyRect(Old,SizeRect1.Canvas,New);
Image2.Visible:= False;
Image2.Picture.SaveToFile('c:\Foto.bmp');
Bitmap.LoadFromFile('c:\foto.bmp');
Image3.Picture.Bitmap.Assign (Bitmap);
Image3.Visible:= True;
Image3.BringToFront;
end;

Código Delphi [-]
procedure TCapFoto.BtnGuardarClick(Sender: TObject);
var Bitmap: TBitmap; jpeg: TJPEGImage;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\foto.bmp');
jpeg := TJPEGImage.Create;
jpeg.Assign(Bitmap);
jpeg.CompressionQuality := 100;
jpeg.SaveToFile('c:\foto.jpg');
jpeg.Destroy;
Bitmap.Destroy;
end;

El componente SizeComps hace todo el trabajo. Sólo debes hacer previamente la captura a un Timage, donde se genera el archivo 'c:\foto.bmp'. Yo lo utilizo con Delphi 2007 y funciona perfecto. No sé si funcionará en Delphi 2010.
Espero que te sirva.
Salu2

yapt 04-06-2010 16:33:22

Fantastico Radenf... muchas gracias por el código.

El lunes empiezo con ello...

En cuanto a los componentes, compilan, instalan y funcionan bien en Delphi 2010. He tenido que quitar las unidades GIFimage y PNGimage del uses del ejemplo, pero luego ya va todo bien.

Gracias de nuevo.

radenf 04-06-2010 18:23:11

Me alegra haber podido ayudarte yapt.
Como yo soy absolutamente novato en Delphi y lo poco que sé lo he aprendido por ensayo y error, te cuento que ese código lo logré con la ayuda de la gente de este foro y a pesar de que me tuvo por las cuerdas cerca de una semana al final funcionó perfecto.
Salu2

rodrinig 27-10-2014 18:42:39

Ejemplo no aparece
 
hola chicos, radenf, estoy tratando de buscar el ejemplo que mencionas y no me muestra nada. lo borraste?.
Muchas gracias

radenf 28-10-2014 21:22:34

Sí lo borré tiempo atrás.
Algo similar puedes encontrar en este link

Salu2

rodrinig 31-10-2014 16:11:37

Gracias radenf, si estuve viendo esos ejemplos y estoy tratando de sacar algo .
Nuevamente gracias a vos y al excelente foro !!1


La franja horaria es GMT +2. Ahora son las 15:38:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi