Resolução do .bmp no Rave Report

Delphi

21/08/2018

Olá amigos. Estou criando um pequeno sistema com Delphi 7 e rave report 5. Sei que o rave só trabalha com imagens bmp, por isso, faço a conversão da imagem jpg para bmp e salvo em uma pasta. No banco de dados, salvo o caminho para a imagem, e tudo certo.

Para exibir no rave, uso o código
RvProject2.SetParam(''Foto'',DbEdit9.Text);
     RvProject2.Execute;


e no rave exibo a imagem com o código
bitmap3.filelink := raveproject.getparam(''Pessoa'');


Contudo, meu problema é o seguinte. A imagem está gravada na pasta com uma boa resolução. Mas quando ela é exibida no relatório do rave, fica com uma qualidade péssima, muito baixa. Algumas fotos quase nem dá para reconhecer a pessoa.

Existe uma forma de melhorar essa qualidade no rave, para que o bitmap component possa exibir a imagem com resolução mais alta?
Edilson Santiago

Edilson Santiago

Curtidas 0

Respostas

Edilson Santiago

Edilson Santiago

21/08/2018

Obs. No segundo código, onde escrevi 'pessoa', é na verdade 'foto'. foi erro de digitação.
GOSTEI 0
Paulo Freire

Paulo Freire

21/08/2018

Edilson Rave trabalha com JPG sim, eu tenho um sistema onde gravo o caminho do jpg, exemplo, FOTO=G:\\Uploads\\PauloFreire.jpg no meu DataModulo tenho essa rotina:

procedure TDMR.CarregaRaveImagem(rvPagina, rvImagemNome, bdArquivo: String);
var
B: TRaveBitmap;
P: TRavePage;
Jpg: TJpegImage;

begin

// Cria Objeto JPEGImage para carregar o arquivo Jpeg.
Jpg := TJpegImage.Create;

try
// Pesquisa componentes dentro do projeto rave.
P := RvProject1.ProjMan.FindRaveComponent(rvPagina, nil) as TRavePage;
B := RvProject1.ProjMan.FindRaveComponent(rvImagemNome, P) as TRaveBitmap;

// verifica se existe um JPG referente a imagem
if FileExists(bdArquivo) then
begin
// Carrega o arquivo do disco.
Jpg.LoadFromFile(bdArquivo);
// Atribui ao Rave Bitmap component.
B.Image.Assign(Jpg);
end;

finally
Jpg.Free;
end;

end;


procedure TDMR.rvCrachasGetRow(Connection: TRvCustomConnection);
var
NomeDoRelatorio :string;
begin

//CarregaRaveImagem('rptCrachas.Page1', 'Foto', DM.ADOQueryCrachasFOTO.Value);
CarregaRaveImagem(RvProject1.ReportName +'.Page1', 'Foto', CaminhoFotos + DM.ADOQueryCrachasFOTO.Value);
Connection.DoGetRow;

end;

procedure TDMR.rvFichaMembroGetRow(Connection: TRvCustomConnection);
begin

CarregaRaveImagem('rptFichaMembro.Page1', 'Foto', CaminhoFotos + DM.ADOQuery_MembrosFOTO.Value);
Connection.DoGetRow;

end;
GOSTEI 0
POSTAR