AJUDA COM VK_SNAPSHOT
Bom dia tudo bem?
Pessoal é o seguinte eu tenho uma rotina no sistema interno da empresa que faz a impressão de um relatorio.
Na tela de relatório eu tenho dois elementos cruciais e que é necessário imprimir.
Nele existe dois WebControl onde é exibido gráficos de Ping e Ping de rádio
a seguinte rotina é a que está atualmente no sistema
volta:
If blnAboveVer4 Then
keybd_event VK_SNAPSHOT, 0, 0, 0
Else
keybd_event VK_SNAPSHOT, 1, 0, 0
End If
Picture5.Picture = Clipboard.GetData [ô]visualiza a imagem na picture
[ô] Caso propriedade picture 0 volta ao print screeen
If Picture5.Picture = 0 Then
GoTo volta
End If
[ô]SavePicture Clipboard.GetData, App.path + [Ô]\GraficoRadio.jpg[Ô] [ô]salva a imagem no arquivo
SavePicture Picture5.Picture, App.path + [Ô]\GraficoRadio.jpg[Ô] [ô]salva a imagem no arquivo
[ô]OBS.: TROQUE O PIPE | POR BARRA INVERTIDA.
Exit Sub
ela faz um Print Screen para imprimir os objetos, porém, ele está fazendo da tela toda e não somente dos objetos (WebControl).
Alguém poderia me ajudar?
Pessoal é o seguinte eu tenho uma rotina no sistema interno da empresa que faz a impressão de um relatorio.
Na tela de relatório eu tenho dois elementos cruciais e que é necessário imprimir.
Nele existe dois WebControl onde é exibido gráficos de Ping e Ping de rádio
a seguinte rotina é a que está atualmente no sistema
volta:
If blnAboveVer4 Then
keybd_event VK_SNAPSHOT, 0, 0, 0
Else
keybd_event VK_SNAPSHOT, 1, 0, 0
End If
Picture5.Picture = Clipboard.GetData [ô]visualiza a imagem na picture
[ô] Caso propriedade picture 0 volta ao print screeen
If Picture5.Picture = 0 Then
GoTo volta
End If
[ô]SavePicture Clipboard.GetData, App.path + [Ô]\GraficoRadio.jpg[Ô] [ô]salva a imagem no arquivo
SavePicture Picture5.Picture, App.path + [Ô]\GraficoRadio.jpg[Ô] [ô]salva a imagem no arquivo
[ô]OBS.: TROQUE O PIPE | POR BARRA INVERTIDA.
Exit Sub
ela faz um Print Screen para imprimir os objetos, porém, ele está fazendo da tela toda e não somente dos objetos (WebControl).
Alguém poderia me ajudar?
Bem, você está enviando um PrintScreen, então, sim, é a tela toda.
Para obter a área relativa a cada um dos controles WebBrowser, você precisa [Ô]recortar[Ô] a imagem capturada (tela toda), observando o ponto inicial tanto do formulário e dos controles, além das dimensões dos mesmos. Isso você terá de calcular sozinho, em tempo de execução, já que cada usuário pode manter ou usar definições distintas para a tela, para o formulário, para a quantidade de cores, para o posicionamento, dentre outras coisas.
Para a captura de tela, o formulário ou uma área especÃfica: Este artigo é útil.
Para [Ô]recortar[Ô] a imagem capturada (BitBlt), este link é interessante.
é possÃvel utilizar o método PaintPicture do controle PictureBox (e outros contêineres como os Forms), mas esse método, além de um pouco mais lento, deixa um pouco á desejar.
Assim, em ambos os casos (captura e [Ô]recorte[Ô]), utiliza-se sempre APIs do Windows (GDI etc.), uma vez que o VB6 não possui recursos ou capacidades gráficas para essa finalidade.
Para obter a área relativa a cada um dos controles WebBrowser, você precisa [Ô]recortar[Ô] a imagem capturada (tela toda), observando o ponto inicial tanto do formulário e dos controles, além das dimensões dos mesmos. Isso você terá de calcular sozinho, em tempo de execução, já que cada usuário pode manter ou usar definições distintas para a tela, para o formulário, para a quantidade de cores, para o posicionamento, dentre outras coisas.
Para a captura de tela, o formulário ou uma área especÃfica: Este artigo é útil.
Para [Ô]recortar[Ô] a imagem capturada (BitBlt), este link é interessante.
é possÃvel utilizar o método PaintPicture do controle PictureBox (e outros contêineres como os Forms), mas esse método, além de um pouco mais lento, deixa um pouco á desejar.
Assim, em ambos os casos (captura e [Ô]recorte[Ô]), utiliza-se sempre APIs do Windows (GDI etc.), uma vez que o VB6 não possui recursos ou capacidades gráficas para essa finalidade.
Tópico encerrado , respostas não são mais permitidas