Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tojo

Conversão de imagens

Recommended Posts

Olá novamente

 

Como o assunto é outro, achei que deveria criar um novo tópico.

 

Tenho um campo TDBImageExt, para exibir imagens que estão em um campo blob de minha tabela.

 

Quando vou navegando entre os registros, ele pára de funcionar em registros específicos, e imagino que seja devido ao formato dos arquivos do banco, (que devem estar em jpg, enquanto o padrão deve ser bmp, por exemplo).

 

Por isso, gostaria de saber como faço para converter estas imagens jpg, para bmp antes da renderização do componente.

 

Alguém pode me ajudar?!

 

Talvez minha teoria esteja errada, mas é a única explicação que encontrei.

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa...

 

consegui o seguinte:

 

Query3.First;

while not (Query3.EOF) do
begin

	 //SalvaFigura.FileName := DBEdit1.Text+'-'+DBEdit3.Text+'-'+DBEdit2.Text+'.jpg';
	   //if SalvaFigura.Execute then
	   //DBImageExt1.Picture.SaveToFile('C:\migração\'+DBEdit1.Text+'-'+DBEdit3.Text+'-'+DBEdit2.Text+'.jpg');
//////////

try
inherited;

//if DBImageFSO.Picture.Graphic is TJPEGImage then

BlobStream := TBlobStream.Create(Query3.FieldByName('IM_FIGURA_FSO') as TBlobField, bmRead);
FileStream := TFileStream.Create('C:\migração\'+DBEdit1.Text+'-'+DBEdit3.Text+'-'+DBEdit2.Text+'.jpg', fmCreate or fmOpenWrite);
FileStream.CopyFrom(BlobStream, 0);
//ShowMessage('Documento salvo em disco. Clique em [OK] para prosseguir ...');
finally
// Liberando memoria
FileStream.Free;
BlobStream.Free;
end;
/////////

Query3.Next;
end;

Query3.close;

Isso quase faz o que eu preciso..... só falta que ele salve no formato de imagens mesmo, porque assim ele tá salvando errado...

 

mas tá quase...

 

alguém pode me ajudar?

 

Não preciso mostrar as imagens na tela... só salvar no disco...

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso, já tá no uses...

 

Usando o dbimageext dá erro nisso, qdo encontra os jpegs:

 

EDecompressionError

 

 

Só pra lembrar, eu tô usando delphi 4 por motivos de compatibilidade.

 

Valeu

 

 

Ah, tentei assim também agora:

Query3.Next;
jpeg := TJpegImage.Create;
msFoto:=TMemoryStream.Create;
TGraphicField(Query3.FieldByName('IM_FIGURA_FSO')).SaveToStream(msFoto);
jpeg.LoadFromStream(msFoto);
bmp := TBitmap.Create;
bmp.Assign(jpeg);
bmp.SaveToFile('c:\teste.bmp');
bmp.Free;
jpeg.Free;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.