Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso Salvar um QuickRep em JPG ou BMP - função pronta


João Pedro

Pergunta

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...