Bom dia!! Tenho um formulario que Gera um formulario de Relatório, no Formulario p/ Gerar o formulario de relatório criei uma função para Salvar o QuickReport do Relatório em um aquivo JPG e BMP...Ao clicar no botão "Salvar" dentro do formulario Gerar eu chamo o formulario de relatório e chamo a função para salvar o formulario..Acontece que o QuickReport do Relatório salva a imagem no destino corretamente, mais o arquivo que salva vem totalmente em uma pagina em branco....alguém sabe o porque não vem nenhuma imagem?
Tenho a procedure para salvar a QuickRep em uma imagem, a Imagem esta salvando corretamente, só que esta imagem que salva ela vem totalmente uma pagina em Branco....alguém sabe o porque?
Pergunta
João Pedro
Bom dia!! Tenho um formulario que Gera um formulario de Relatório, no Formulario p/ Gerar o formulario de relatório criei uma função para Salvar o QuickReport do Relatório em um aquivo JPG e BMP...Ao clicar no botão "Salvar" dentro do formulario Gerar eu chamo o formulario de relatório e chamo a função para salvar o formulario..Acontece que o QuickReport do Relatório salva a imagem no destino corretamente, mais o arquivo que salva vem totalmente em uma pagina em branco....alguém sabe o porque não vem nenhuma imagem?
Tenho a procedure para salvar a QuickRep em uma imagem, a Imagem esta salvando corretamente, só que esta imagem que salva ela vem totalmente uma pagina em Branco....alguém sabe o porque?
void __fastcall TfrmVisualizargraficocomparativovendas::GeraImagemRelatorio(TQuickRep *QR, String Path , Integer Tipo)
{
TJPEGImage *JPG;
Graphics::TBitmap * BMP = new Graphics::TBitmap;
TQRUnit aUnits;
int i;
// Gera o relatório em memória.
QR->Prepare();
// Pega unidade de medida atual no QReport.
aUnits = QR->Units;
// Altera unidade de medida para Pixels.
QR->Units = Pixels;
for (i = 1; i<=QR->QRPrinter->PageCount; i++)
{ //caso tenha mais de 1 imagem
// Cria Bitmap.
BMP = new Graphics::TBitmap;
// Cria JPeg.
JPG = new TJPEGImage();
try
{
// Define tamanho do Bitmap de acordo com o tamanho da página do QReport.
BMP->Width = (QR->Page->Width); //Colocar o Round para arrendondar
BMP->Height = (QR->Page->Length); //Colocar o Round para arrendondar
// Pegar página a página.
QR->QRPrinter->PageNumber = i;
// Atribui a página ao Bitmap. ACHO QUE É AQUI
BMP->Canvas->Draw(0, 0, QR->QRPrinter->Page);
// Transfere também para JPeg.
JPG->Assign(BMP);
}
catch (...){
;
}
// Salvar em disco.
if (Tipo == 0)
{
BMP->SaveToFile(Path + "Pagina" + IntToStr(i) + ".bmp");
}
else
{
if (Tipo == 1)
{
JPG->SaveToFile(Path + "Pagina" + IntToStr(i) + ".jpg");
// Libera objetos.
BMP->Free();
JPG->Free();
}
}
// Volta unidade de medida.
QR->Units = aUnits;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmVisualizargraficocomparativovendas::btnSalvarClick(TObject *Sender)
{
Application->CreateForm(__classid(TfrmImprimirgraficoscomparativovendas), &frmImprimirgraficoscomparativovendas);
frmImprimirgraficoscomparativovendas->QuickRep1->Preview();
//Exporta o Quick para BMP
GeraImagemRelatorio(frmImprimirgraficoscomparativovendas->QuickRep1,"C:\\Imagem",0);
//Exporta o Quick para JPG
GeraImagemRelatorio(frmImprimirgraficoscomparativovendas->QuickRep1,"C:\\Imagem",1);
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.