Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   DelphiTWAIN y Bitmap:S (https://www.clubdelphi.com/foros/showthread.php?t=59582)

mrnovice 01-09-2008 19:31:03

DelphiTWAIN y Bitmap:S
 
Saludos foreros, Auxilio!!!!!, necesito una gran ayudaaaaa, muchota:(
Miren he utilizado he tratado de aprender el uso de este componente llamado DelphiTWAIN, lo he entendido, pero no en su totalidad, este es el enlace:
http://delphitwain.sourceforge.net/

Me base en el programa Full features,hay una parte donde entiendo de aqui se anexa la imagen a memoria.
Código Delphi [-]
procedure TFdetalle.TwainTwainAcquire(Sender: TObject; const Index: Integer; Image: TBitmap; var Cancel: Boolean);
var MyJPG:TJPEGImage;
begin
  if modoPreview=FALSE then begin
  {An image has being acquired, add to list}
    ImageList.Add(TBitmap.Create);
    TBitmap(ImageList[ImageList.Count - 1]).Assign(Image);
    fOriginalSizeW:= Tbitmap(ImageList[0]).Width; {Valor del tamaño del Timage Width Normal}
     fOriginalSizeH:=Tbitmap(ImageList[0]).Height; {Valor del tamaño del Timage Height Normal}
      {In case it's the first image, display}
    if ImageList.Count = 1 then SelectFirst;
    GoForward.Enabled := ImageList.Count - 1 > CurrentImage;
  end else{ModoPreview}
  begin
    ImageList.Add(TBitmap.Create);
    TBitmap(ImageList[ImageList.Count - 1]).Assign(Image);
    SelectPreview;
  end;
end;
El mayor problema de todos es cuando escaneo una imagen, se llena la memoria hasta el tope como 50mb por imagen, común
ImageList : TList tengo entendido manda un puntero un objeto, osea en este caso entiendo que es un Bitmap muy grandodododote, es posible reducir el costo de memoria del ImageList a mi se me ocurrio tratar de ponerlo en Formato JPEG, JPG, no sè si sea buena idea, cualquier sugerencia serìa muy apreciada no se què hacer , estoy al borde de la desesperaciòn XD, saludos , si necesitan más explicaciòn no duden en comentarme, pero porfas!!!!!

Caral 01-09-2008 19:48:18

Hola
Me alegro de que quitaras la parte de Urgente.:)
Yo lo tengo asi y funciona:
Código Delphi [-]
procedure TForm1.TwainTwainAcquire(Sender: TObject; const Index: Integer;
  Image: TBitmap; var Cancel: Boolean);
begin
  ImageHolder.Picture.Assign(Image);
  Cancel := TRUE;  {Only want one image}
end;
Saludos

roman 01-09-2008 19:52:16

Cita:

Empezado por Caral (Mensaje 310805)
Hola
Me alegro de que quitaras la parte de Urgente.:)

En realidad lo hice yo porque en el Club no existe esa palabra :)

Invitemos al amigo a releer la guía de estilo.

// Saludos

mrnovice 01-09-2008 19:58:13

Gracias, voy a probar
 
Saludos,disculpen por no seguir la guía de estilo, la presiòn y los nervios me tienen atado, no volvere a blasfemar asì lo prometo

mrnovice 01-09-2008 20:06:09

Sólo unas dudas
 
ImageHolder es un Tlist,
Se adapta para varias imágenes?

Caral 01-09-2008 20:07:50

Hola
Es un TImage.
Saludos

mrnovice 01-09-2008 20:42:09

ya lo ví y muchas gracias pero..
 
pero, el problema sería que necesito tomar varias imágenes, de todos modos creo que la idea anda por allí
gracias

mrnovice 01-09-2008 22:02:24

Mismo problema
 
Estuve haciendo pruebas y nada, incluse cambie de Tbitmap a TJPEGImage, acaso la ùnica solución es por medio de Archivos?

Casimiro Notevi 02-09-2008 07:43:23

1 Archivos Adjunto(s)
Mira si te sirve esto, aunque tendrás que adaptarlo a tus necesidades.

mrnovice 30-09-2008 15:12:40

Gracias Casimiro
 
voy a checar lo que me mandaste, disculpa si no te había contestado antes, me concentré mucho y no ví este post :S voy averiguar cómo adaptarlo
<hay disculpa si mi agradecimiento no se leé muy profesional> pero muchas gracias muchas muchas gracias por tu apoyo
Saludos

Softweb 03-10-2008 15:46:49

Hola

Yo uso desde hace años el MultiTWAIN.pas y me va de fabula, se le asigna un procedimiento el cual gestione el guardado de cada imagen y se ejecuta.

De esta forma puedes estar escaneando las imágenes que quieras que según se vayan escaneando el dicho procedimiento estará por detrás guardándolas.


Saludos

mrnovice 03-10-2008 19:33:49

lo voy a probar
 
sí jeje de haber sabido de ese lo hubiera analizado, la rázón porque escogí DelphiTWAIN su código es abierto y entendible, es decir tengo entendido literalmente se apega al estándar TWAIN 1.9, el chiste de esto es qué en aquellos momentos que busqué una solución muchos developers te lo vendían o no te daban el código completo, me entiendo utilizaban *.dcu y cosas a las cuales no podías acceder.
Voy a probarlo y luego te cuento cómo me fue creo que entiendo esto cada vez más.
Saludos.

Casimiro Notevi 03-10-2008 22:21:50

El código que he puesto antes es un "frame" listo para pegar en cualquier form de delphi y con capacidad para adquirir imagenes de escáneres de múltiples páginas seguidas, las almacena en una base de datos firebird, puedes incluso adquirir imágenes desde fichero, ponerles comentarios, etc. Sólo tendrás que ajustarlo un poco a tus necesidades.


Softweb 03-10-2008 23:43:10

Cita:

Empezado por mrnovice (Mensaje 317977)
sí jeje de haber sabido de ese lo hubiera analizado, la rázón porque escogí DelphiTWAIN su código es abierto y entendible, es decir tengo entendido literalmente se apega al estándar TWAIN 1.9, el chiste de esto es qué en aquellos momentos que busqué una solución muchos developers te lo vendían o no te daban el código completo, me entiendo utilizaban *.dcu y cosas a las cuales no podías acceder.
Voy a probarlo y luego te cuento cómo me fue creo que entiendo esto cada vez más.
Saludos.

hola
el MultiTWAIN.pas es FreeWare y con código de echo la versión que tengo es del delphi 3 y en la actualidad lo estoy usando en el Delphi 2006 perfectamente.
No me acuerdo de donde lo saque, pero si no lo encuentras me lo dices y te lo paso.

Saludos


La franja horaria es GMT +2. Ahora son las 11:24:32.

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