Fórum Resolução do .bmp no Rave Report #596546
21/08/2018
0
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
e no rave exibo a imagem com o código
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?
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
Curtir tópico
+ 0
Responder
Posts
21/08/2018
Edilson Santiago
Obs. No segundo código, onde escrevi 'pessoa', é na verdade 'foto'. foi erro de digitação.
Responder
Gostei + 0
25/08/2018
Paulo Freire
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;
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)