Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2012
davidrgh davidrgh is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 11
Poder: 0
davidrgh Va por buen camino
Delphi 2010: Problema con los colores al escanear con Delphi TWAIN

Hola a todos

Estoy usando el Delphi Twain tanto para Delphi 2005 (el original) como para Delphi 2010 (una versión modificada que encontré en otro post de este foro).

El programa que estoy tratando de crear es uno muy simple, de muestra: un botón para escanear y que muestre una previsualización de la imagen y otro para guardarla en un archivo.

El código en ambas versiones de Delphi es el siguiente:

CÓDIGO DEL BOTÓN DE ESCANEAR
Código:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  SourceIndex: Integer;
  Source: TTwainSource;

begin
  DelphiTwain1.LibraryLoaded := TRUE;
  DelphiTwain1.SourceManagerLoaded := TRUE;
  SourceIndex := DelphiTwain1.SelectSource();
  if (SourceIndex <> -1) then
  begin
     Source := DelphiTwain1.Source[SourceIndex];
     Source.Loaded := TRUE;
     Source.ShowUI:= false;
     Source.Enabled := TRUE;
     Source.SetIBitDepth(24);
  end;
end;
CÓDIGO DE RECEPCIÓN DE LA IMAGEN (EVENTO)
Código:
procedure TForm1.DelphiTwain1TwainAcquire(Sender: TObject; const Index: Integer;
  Image: TBitmap; var Cancel: Boolean);
begin
   Image1.Picture.Assign(Image);
   Cancel:= true;
   Image1.Visible:= true;
end;

Bien, en Delphi 2005 lo hace de maravilla (pierde un poco de resolución, pero el escáner es un tanto antiguo).
El caso es que en 2010, el escaneo lo hace bien (la previsualización que sale en el diálogo del propio escáner es correcta (este diálogo no se le mostrará al usuario, sino que escaneará directamente)), pero cuando devuelve el control a Delphi y le pasa el TBitmap, los colores se cambian. Si la imagen original tenía tonos rojos y anaranjados, me sale un "verde radiación nuclear de los Simpson" muy feo.

He estado haciendo pruebas y he leído por ahí que el Delphi 2010 no representa los colores en el mismo orden que el 2005. En efecto, he probado a usar una función que encontré por ahí para intercambiar el RGB por GBR (usando el cuentagotas del photoshop y comparando ambas imágenes era el cambio que más parecía acercarse)... y sí que lo cambia aproximándose al original, pero aún así sigue siendo una chapuza (mete morados en los bordes, cambia el tono de los colores (un rojo granate pasa a ser morado)...).

No sé si me he explicado bien. A ver si alguien que tenga experiencia en esto puede aconsejarme.

Gracias

Pd: Se me olvidaba. Las pruebas las he hecho sobre un Windows XP virtualizado sobre Windows 7 (ya que el escáner no funciona en versiones posteriores al XP).

Última edición por davidrgh fecha: 23-08-2012 a las 14:04:02.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema raro con captions Delphi 2010 sur-se OOP 1 10-08-2011 08:28:50
Problema con QuickReport 5 y QRChart en Delphi 2010 agustibaldo Impresión 4 22-11-2010 17:34:01
Problema al compilar Delphi 2010 Armando Ariosto Varios 2 20-08-2010 02:30:27
Escanear con delphi Caral Varios 12 18-12-2007 17:25:07
delphi twain alt126 C++ Builder 0 04-06-2006 10:35:15


La franja horaria es GMT +2. Ahora son las 06:15:35.


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
Copyright 1996-2007 Club Delphi