Como chamar scanner direto do delphi ??

26/06/2008

0

Caros amigos.

Alguém saberia como escanear um documento jogando a imagem direto para o delphi ? Explicando melhor... Seria abrir o scanner, escanear o documento já jogando a imagem escaneada para dentro de um componente Image (por exemplo).

Há algum componente que realize essa comunicação ?

Um abraço a todos e obrigado aos que puderem me ajudar.

Ricardo - Natal/RN.


Ricvictor

Ricvictor

Responder

Posts

27/06/2008

Ricvictor

Turma... realizei uma pesquisa e acabei encontrando o componente Twain, fácil de usar, que funciona da forma como pretendida aqui nessa questão (disposta no fórum).

Porém, me esbarrei com uma limitação. A imagem escaneada vindo direto para um componente do tipo Image, no visual, fica cortando. Seria ideal se conseguíssemos fazer carregar a imagem escaneada direto para um componente que possua barra de rolagem.

Alguém teria uma idéia ?

Abraço a todos e obrigado desde já aos que ajudarem.

Ricardo - Natal/RN.


Responder

27/06/2008

Altingon

Não cheguei a testar....mas veja se funciona

var
  MyBitmap: TBitmap;

...

procedure TForm1.ScrollBar2Change(Sender: TObject);
var
  RectDest, RectSource: TRect;
begin
  RectDest:=Rect(0, 0, Image1.Width, Image1.Height);
  RectSource:=Rect(
    ScrollBar1.Position, 
    ScrollBar2.Position, 
    Scrollbar1.Position+Image1.Width, 
    ScrollBar2.Position+Image1.Height);
  Image1.Canvas.CopyRect(RectDest, MyBitmap.Canvas, RectSource);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  MyBitmap:=TBitmap.Create;
  MyBitmap.LoadFromFile(´factory.bmp´);
  Image1.Picture.Bitmap.Assign(MyBitmap);
  ScrollBar1.Max:=MyBitmap.Width-1-Image1.Width;
  ScrollBar2.Max:=MyBitmap.Height-1-Image1.Height;
end;



Responder

27/06/2008

Ricvictor

Valeu pela idéia, altingon.

Ainda não funcionou conforme o esperado, mas daí, é apenas um detalhe, um acerto nos limites que o scroll deva reconhecer.

A partir da tua idéia, vou tentar aprimorar. Postarei aqui, caso consiga atingir os 100¬.

Grande abraço e obrigado.

Ricardo - Natal/RN.


Responder

27/06/2008

Ricvictor

Aêê Altingon, deu certo a partir da tua idéia.

Segue o teu código, com as devidas correções:

...
var
MyBitmap: TBitmap;

implementation

{$R *.dfm}

procedure TForm1.ScrollBar1Change(Sender: TObject);
var
RectDest, RectSource: TRect;
begin
RectDest:=Rect(0, 0, Image1.Width, Image1.Height);
RectSource:=Rect(
ScrollBar2.Position,
ScrollBar1.Position,
Scrollbar2.Position+Image1.Width,
ScrollBar1.Position+Image1.Height);
Image1.Canvas.CopyRect(RectDest, MyBitmap.Canvas, RectSource);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
MyBitmap:=TBitmap.Create;
MyBitmap.LoadFromFile(´C:\Documents and Settings\Administrador\Meus documentos\Minhas imagens\Counter Strike.bmp´);
Image1.Picture.Bitmap.Assign(MyBitmap);
ScrollBar2.Max:=MyBitmap.Width-1-Image1.Width;
ScrollBar1.Max:=MyBitmap.Height-1-Image1.Height;
end;

procedure TForm1.ScrollBar2Change(Sender: TObject);
begin
self.ScrollBar1Change(nil);
end;

...

Bom, é isso.

Grande abraço e valeu pela grande ajuda.

Ricardo - Natal/RN.


Responder

27/06/2008

Altingon

Que bom que deu certo cara...

Credito merecido a esse endereço: http://www.vbforums.com/showthread.php?t=292700

Valeu


Responder

13/11/2008

Lincesmarques

Cara poderia mandar o link do componente TWAIN pra gente? To precisando dele também.

Obrigado.


Responder

13/11/2008

Powerlog Tecnologia

Consegui fazer a rotina de scanner no meu sistema, através de um artigo da revista ACTIVE DELPHI, edição 51 de Maio/2008.

[url]http://www.activedelphi.com.br/mostra_edicao.php?ed=51[/url]


O link para baixar o twain que ele informou no artigo é o [url]www.informaticon.com.br/downloads/DelphiTwain.zip[/url]

Espero ter ajudado :!:


Responder

07/04/2012

Jônatas Silva

caros amigos gostaria de saber se tem como scanear pelo delphi 2010
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar